<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TTMath: ttmath::Int&lt; value_size &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ttmath_logo_for_doxygen_doc.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">TTMath
   &#160;<span id="projectnumber">0.9.4_prerelease_2019-07-31</span>
   </div>
   <div id="projectbrief">&nbsp;C++ bignum library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacettmath.html">ttmath</a></li><li class="navelem"><a class="el" href="classttmath_1_1_int.html">Int</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">ttmath::Int&lt; value_size &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classttmath_1_1_int.html" title="Int implements a big integer value with a sign.">Int</a> implements a big integer value with a sign.  
 <a href="classttmath_1_1_int.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ttmath::Int&lt; value_size &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classttmath_1_1_int__inherit__graph.png" border="0" usemap="#ttmath_1_1_int_3_01value__size_01_4_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ttmath::Int&lt; value_size &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classttmath_1_1_int__coll__graph.png" border="0" usemap="#ttmath_1_1_int_3_01value__size_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5969b824a40d631c318dd027755028fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a5969b824a40d631c318dd027755028fd">SetMax</a> ()</td></tr>
<tr class="separator:a5969b824a40d631c318dd027755028fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bc5aa68e8e8eb44085d2c1ff98aad82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a0bc5aa68e8e8eb44085d2c1ff98aad82">SetMin</a> ()</td></tr>
<tr class="separator:a0bc5aa68e8e8eb44085d2c1ff98aad82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6b9785610e95320f3843025804d195b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ac6b9785610e95320f3843025804d195b">SetSignOne</a> ()</td></tr>
<tr class="separator:ac6b9785610e95320f3843025804d195b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1459d8f91899c87e26a59ccbf9ed3f00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ChangeSign</a> ()</td></tr>
<tr class="separator:a1459d8f91899c87e26a59ccbf9ed3f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b660237a184333e26bdcb933923658a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">SetSign</a> ()</td></tr>
<tr class="separator:a9b660237a184333e26bdcb933923658a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af91fdc65105f7ceb071c2a8a98d0cbfb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a> () const</td></tr>
<tr class="separator:af91fdc65105f7ceb071c2a8a98d0cbfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb74289f960343a11bf25a9b510fd99d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">Abs</a> ()</td></tr>
<tr class="separator:aeb74289f960343a11bf25a9b510fd99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a2cf4362d6b66b0c3f00f94e4c3b4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a34a2cf4362d6b66b0c3f00f94e4c3b4b">Add</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a34a2cf4362d6b66b0c3f00f94e4c3b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1988d656495b09a5d357cb42f080baf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a1988d656495b09a5d357cb42f080baf5">AddInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> value, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index=0)</td></tr>
<tr class="separator:a1988d656495b09a5d357cb42f080baf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6048eadce899968d5ccdaa1c2b3cf1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae6048eadce899968d5ccdaa1c2b3cf1f">AddTwoInts</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index)</td></tr>
<tr class="separator:ae6048eadce899968d5ccdaa1c2b3cf1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e3e13a842ecee73415e2c14818063f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#af8e3e13a842ecee73415e2c14818063f">Sub</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:af8e3e13a842ecee73415e2c14818063f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d5f89116e1ea6c624978e7905823a80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a9d5f89116e1ea6c624978e7905823a80">SubInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> value, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index=0)</td></tr>
<tr class="separator:a9d5f89116e1ea6c624978e7905823a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf555b866fd8a2e9bcadde81e253053"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#abdf555b866fd8a2e9bcadde81e253053">AddOne</a> ()</td></tr>
<tr class="separator:abdf555b866fd8a2e9bcadde81e253053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab46339e71ac07f2c8717fcfb3e6f20e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ab46339e71ac07f2c8717fcfb3e6f20e7">SubOne</a> ()</td></tr>
<tr class="separator:ab46339e71ac07f2c8717fcfb3e6f20e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc0c61f67f3573a7c3006f9cc1de28b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a8fc0c61f67f3573a7c3006f9cc1de28b">MulInt</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> ss2)</td></tr>
<tr class="separator:a8fc0c61f67f3573a7c3006f9cc1de28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae28324f4f8a73446301bdd5e27749755"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae28324f4f8a73446301bdd5e27749755">Mul</a> (<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; ss2)</td></tr>
<tr class="separator:ae28324f4f8a73446301bdd5e27749755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bc659d2f8aa94cf17ee5650d06119f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a2bc659d2f8aa94cf17ee5650d06119f2">Div</a> (<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; ss2, <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; *remainder=0)</td></tr>
<tr class="separator:a2bc659d2f8aa94cf17ee5650d06119f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1e8be4bd0e62094aadfecc755be47b5"><td class="memItemLeft" align="right" valign="top"><a id="ae1e8be4bd0e62094aadfecc755be47b5"></a>
<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Div</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;remainder)</td></tr>
<tr class="separator:ae1e8be4bd0e62094aadfecc755be47b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d81ced6d4f5183287a316a9d45d3198"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a6d81ced6d4f5183287a316a9d45d3198">DivInt</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> ss2, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> *remainder=0)</td></tr>
<tr class="separator:a6d81ced6d4f5183287a316a9d45d3198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa98b88b6171b92524dc90394cf22f953"><td class="memItemLeft" align="right" valign="top"><a id="aa98b88b6171b92524dc90394cf22f953"></a>
<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DivInt</b> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> ss2, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> &amp;remainder)</td></tr>
<tr class="separator:aa98b88b6171b92524dc90394cf22f953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e523cc29589e77186b02236aa3538de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a6e523cc29589e77186b02236aa3538de">Pow</a> (<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; pow)</td></tr>
<tr class="separator:a6e523cc29589e77186b02236aa3538de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9114adb3f73a64079005a5deaaf08d8f"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:a9114adb3f73a64079005a5deaaf08d8f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;p)</td></tr>
<tr class="separator:a9114adb3f73a64079005a5deaaf08d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913c68637ffc618b15467d31bcc25334"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a913c68637ffc618b15467d31bcc25334">FromInt</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> value)</td></tr>
<tr class="separator:a913c68637ffc618b15467d31bcc25334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa430b83b581bc863949facde3165103"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:afa430b83b581bc863949facde3165103"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;p)</td></tr>
<tr class="separator:afa430b83b581bc863949facde3165103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9bb53359d6a20d3f9fbf66b7afe4ca"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:a5a9bb53359d6a20d3f9fbf66b7afe4ca"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a5a9bb53359d6a20d3f9fbf66b7afe4ca">FromInt</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;p)</td></tr>
<tr class="separator:a5a9bb53359d6a20d3f9fbf66b7afe4ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18d04761dd2de32639b96dd651915e53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a18d04761dd2de32639b96dd651915e53">FromUInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> value)</td></tr>
<tr class="separator:a18d04761dd2de32639b96dd651915e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5fd8669aa27738697b9e8d253885c51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ab5fd8669aa27738697b9e8d253885c51">FromInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> value)</td></tr>
<tr class="separator:ab5fd8669aa27738697b9e8d253885c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27af0093ced091bcc6d1dae366c1af4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a27af0093ced091bcc6d1dae366c1af4d">operator=</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p)</td></tr>
<tr class="separator:a27af0093ced091bcc6d1dae366c1af4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf9f2921e802cc86a1d1ce750ce399ae"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:acf9f2921e802cc86a1d1ce750ce399ae"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#acf9f2921e802cc86a1d1ce750ce399ae">operator=</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;p)</td></tr>
<tr class="separator:acf9f2921e802cc86a1d1ce750ce399ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68170d34e8eef9caa7c4cefec414d34e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a68170d34e8eef9caa7c4cefec414d34e">operator=</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i)</td></tr>
<tr class="separator:a68170d34e8eef9caa7c4cefec414d34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73451d9fcd997f7b9c08880d1c4283a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ab73451d9fcd997f7b9c08880d1c4283a">Int</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i)</td></tr>
<tr class="separator:ab73451d9fcd997f7b9c08880d1c4283a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c7098d61e92508c4543092097eb130b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a9c7098d61e92508c4543092097eb130b">Int</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;u)</td></tr>
<tr class="separator:a9c7098d61e92508c4543092097eb130b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8765a5ebac033979c24364b856bf3f9"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:ae8765a5ebac033979c24364b856bf3f9"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae8765a5ebac033979c24364b856bf3f9">Int</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;u)</td></tr>
<tr class="separator:ae8765a5ebac033979c24364b856bf3f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1608364ea7d20cef82124053e097fd99"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:a1608364ea7d20cef82124053e097fd99"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a1608364ea7d20cef82124053e097fd99">operator=</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;p)</td></tr>
<tr class="separator:a1608364ea7d20cef82124053e097fd99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5c09bcb33250132d588b3229afc2a6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae5c09bcb33250132d588b3229afc2a6b">operator=</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i)</td></tr>
<tr class="separator:ae5c09bcb33250132d588b3229afc2a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ae76136a3f4b572e1f053e2cbbf2fe3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a7ae76136a3f4b572e1f053e2cbbf2fe3">Int</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i)</td></tr>
<tr class="separator:a7ae76136a3f4b572e1f053e2cbbf2fe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ecc131f271cc1339b4a801e0e5b4312"><td class="memTemplParams" colspan="2">template&lt;uint argument_size&gt; </td></tr>
<tr class="memitem:a5ecc131f271cc1339b4a801e0e5b4312"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a5ecc131f271cc1339b4a801e0e5b4312">Int</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;u)</td></tr>
<tr class="separator:a5ecc131f271cc1339b4a801e0e5b4312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf8229b325a4dce57f744f8f97348d1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aaf8229b325a4dce57f744f8f97348d1e">FromUInt</a> (unsigned int i)</td></tr>
<tr class="separator:aaf8229b325a4dce57f744f8f97348d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2cf19903ab205759566229607a738f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae2cf19903ab205759566229607a738f4">FromInt</a> (unsigned int i)</td></tr>
<tr class="separator:ae2cf19903ab205759566229607a738f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c8409a9a6b98dee7e61dac2510c1686"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a7c8409a9a6b98dee7e61dac2510c1686">FromInt</a> (signed int i)</td></tr>
<tr class="separator:a7c8409a9a6b98dee7e61dac2510c1686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab77191693d0adf3e4e35f61963b604da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ab77191693d0adf3e4e35f61963b604da">operator=</a> (unsigned int i)</td></tr>
<tr class="separator:ab77191693d0adf3e4e35f61963b604da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a001c6233a67377725d0db5c23674d009"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a001c6233a67377725d0db5c23674d009">Int</a> (unsigned int i)</td></tr>
<tr class="separator:a001c6233a67377725d0db5c23674d009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0bd51c3a334a57600ee89444b2275c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aa0bd51c3a334a57600ee89444b2275c8">operator=</a> (signed int i)</td></tr>
<tr class="separator:aa0bd51c3a334a57600ee89444b2275c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e014d74189dc9e40700b353bffbe65c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a6e014d74189dc9e40700b353bffbe65c">Int</a> (signed int i)</td></tr>
<tr class="separator:a6e014d74189dc9e40700b353bffbe65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106d1da7168ddd9833203179ecccdde4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a106d1da7168ddd9833203179ecccdde4">Int</a> (const char *s)</td></tr>
<tr class="separator:a106d1da7168ddd9833203179ecccdde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a401e1c4c951131c14acadbe241e55ffe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a401e1c4c951131c14acadbe241e55ffe">Int</a> (const std::string &amp;s)</td></tr>
<tr class="separator:a401e1c4c951131c14acadbe241e55ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c02f27928e10b6c570e11e0575bd8d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a2c02f27928e10b6c570e11e0575bd8d0">Int</a> (const wchar_t *s)</td></tr>
<tr class="separator:a2c02f27928e10b6c570e11e0575bd8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc953742bcb2e6af7a7bc7744d898c40"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#acc953742bcb2e6af7a7bc7744d898c40">Int</a> (const std::wstring &amp;s)</td></tr>
<tr class="separator:acc953742bcb2e6af7a7bc7744d898c40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefe7fa173de68c3aeaf30313bc4232db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aefe7fa173de68c3aeaf30313bc4232db">Int</a> ()</td></tr>
<tr class="separator:aefe7fa173de68c3aeaf30313bc4232db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca2f80cb446bfb0a1c9a3e4ff09ebd00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aca2f80cb446bfb0a1c9a3e4ff09ebd00">~Int</a> ()</td></tr>
<tr class="separator:aca2f80cb446bfb0a1c9a3e4ff09ebd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af934f141ffee622c5b19edc661d2d76f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#af934f141ffee622c5b19edc661d2d76f">ToInt</a> () const</td></tr>
<tr class="separator:af934f141ffee622c5b19edc661d2d76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a6edc4dbecbf07403cee43e592cba68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a0a6edc4dbecbf07403cee43e592cba68">ToUInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;result) const</td></tr>
<tr class="separator:a0a6edc4dbecbf07403cee43e592cba68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35172ee73aaced6217e8b4d810e2740f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a35172ee73aaced6217e8b4d810e2740f">ToInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;result) const</td></tr>
<tr class="separator:a35172ee73aaced6217e8b4d810e2740f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa1f91d9ea63967a4bff0e664a9165b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#afa1f91d9ea63967a4bff0e664a9165b9">ToInt</a> (<a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> &amp;result) const</td></tr>
<tr class="separator:afa1f91d9ea63967a4bff0e664a9165b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5750b494ef2a520af1fd7d9acae1acf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a5750b494ef2a520af1fd7d9acae1acf2">ToUInt</a> (unsigned int &amp;result) const</td></tr>
<tr class="separator:a5750b494ef2a520af1fd7d9acae1acf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a686899d8409f63a303f9ef4f1c2d747c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a686899d8409f63a303f9ef4f1c2d747c">ToInt</a> (unsigned int &amp;result) const</td></tr>
<tr class="separator:a686899d8409f63a303f9ef4f1c2d747c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4039277e53b97ae96718ec5758bc1c52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a4039277e53b97ae96718ec5758bc1c52">ToInt</a> (int &amp;result) const</td></tr>
<tr class="separator:a4039277e53b97ae96718ec5758bc1c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a66925d9072d8822db12ecb6e05727c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a1a66925d9072d8822db12ecb6e05727c">ToString</a> (std::string &amp;result, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10) const</td></tr>
<tr class="separator:a1a66925d9072d8822db12ecb6e05727c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f05e64f49505e7f16130883765ce7a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a66f05e64f49505e7f16130883765ce7a">ToString</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10) const</td></tr>
<tr class="separator:a66f05e64f49505e7f16130883765ce7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08a1be509e91e5489eb7c00cebfa60aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a08a1be509e91e5489eb7c00cebfa60aa">ToString</a> (std::wstring &amp;result, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10) const</td></tr>
<tr class="separator:a08a1be509e91e5489eb7c00cebfa60aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf0b1c00f8b0b8e2f47007a35426f0ab"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aaf0b1c00f8b0b8e2f47007a35426f0ab">ToWString</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10) const</td></tr>
<tr class="separator:aaf0b1c00f8b0b8e2f47007a35426f0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a650f84b24d9283af60c1c1127772af2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a> (const char *s, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10, const char **after_source=0, bool *value_read=0)</td></tr>
<tr class="separator:a650f84b24d9283af60c1c1127772af2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9447d45a7cb8b731f2c22e5014eaf504"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a9447d45a7cb8b731f2c22e5014eaf504">FromString</a> (const wchar_t *s, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10, const wchar_t **after_source=0, bool *value_read=0)</td></tr>
<tr class="separator:a9447d45a7cb8b731f2c22e5014eaf504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff766e59f24c0b13f0c7b0b1f82f6479"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aff766e59f24c0b13f0c7b0b1f82f6479">FromString</a> (const std::string &amp;s, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10)</td></tr>
<tr class="separator:aff766e59f24c0b13f0c7b0b1f82f6479"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87d03750b606574ee04607c759520a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#aa87d03750b606574ee04607c759520a8">operator=</a> (const char *s)</td></tr>
<tr class="separator:aa87d03750b606574ee04607c759520a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac19acc46b81bd8f18fba476a63147563"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ac19acc46b81bd8f18fba476a63147563">FromString</a> (const std::wstring &amp;s, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10)</td></tr>
<tr class="separator:ac19acc46b81bd8f18fba476a63147563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c870ff0c02733d1cd0ffffa23607225"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a0c870ff0c02733d1cd0ffffa23607225">operator=</a> (const wchar_t *s)</td></tr>
<tr class="separator:a0c870ff0c02733d1cd0ffffa23607225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b0955c963d46a2995a2edab0df4f08e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a3b0955c963d46a2995a2edab0df4f08e">operator=</a> (const std::wstring &amp;s)</td></tr>
<tr class="separator:a3b0955c963d46a2995a2edab0df4f08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a64e3817561f888f49c2c7e3ce6d895"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a0a64e3817561f888f49c2c7e3ce6d895">operator=</a> (const std::string &amp;s)</td></tr>
<tr class="separator:a0a64e3817561f888f49c2c7e3ce6d895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af40d35b5098fbd5c729250fc817c6f56"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#af40d35b5098fbd5c729250fc817c6f56">operator==</a> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:af40d35b5098fbd5c729250fc817c6f56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e22ab0dce722b11e50e1af9d8b837e4"><td class="memItemLeft" align="right" valign="top"><a id="a7e22ab0dce722b11e50e1af9d8b837e4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:a7e22ab0dce722b11e50e1af9d8b837e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e9cbe4b3625af003c8e7aa7eb5ee22"><td class="memItemLeft" align="right" valign="top"><a id="af8e9cbe4b3625af003c8e7aa7eb5ee22"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:af8e9cbe4b3625af003c8e7aa7eb5ee22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e1d98627d14ff062238dcb53d307955"><td class="memItemLeft" align="right" valign="top"><a id="a6e1d98627d14ff062238dcb53d307955"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:a6e1d98627d14ff062238dcb53d307955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4bbf450c508de3cc06cae5d5146825"><td class="memItemLeft" align="right" valign="top"><a id="a0f4bbf450c508de3cc06cae5d5146825"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:a0f4bbf450c508de3cc06cae5d5146825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d86b31092b20b6f086c53344f051b1"><td class="memItemLeft" align="right" valign="top"><a id="ac1d86b31092b20b6f086c53344f051b1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:ac1d86b31092b20b6f086c53344f051b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187216aeab3023f37236ac5be3380c6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a187216aeab3023f37236ac5be3380c6d">operator-</a> () const</td></tr>
<tr class="separator:a187216aeab3023f37236ac5be3380c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac012fce464c3607e83f46e417f2a7a9c"><td class="memItemLeft" align="right" valign="top"><a id="ac012fce464c3607e83f46e417f2a7a9c"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:ac012fce464c3607e83f46e417f2a7a9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1db876e0dfe441d12e6da04d6e868965"><td class="memItemLeft" align="right" valign="top"><a id="a1db876e0dfe441d12e6da04d6e868965"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a1db876e0dfe441d12e6da04d6e868965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cb0aadc20ae1230fda3536dd1cd5ce3"><td class="memItemLeft" align="right" valign="top"><a id="a7cb0aadc20ae1230fda3536dd1cd5ce3"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a7cb0aadc20ae1230fda3536dd1cd5ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb85e19772b016df22ccc0fe7d7984b0"><td class="memItemLeft" align="right" valign="top"><a id="aeb85e19772b016df22ccc0fe7d7984b0"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:aeb85e19772b016df22ccc0fe7d7984b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4240713476a1fffc4cb23b9715a7fba4"><td class="memItemLeft" align="right" valign="top"><a id="a4240713476a1fffc4cb23b9715a7fba4"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator *</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a4240713476a1fffc4cb23b9715a7fba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e7313646e71fe403bc8259635538d4"><td class="memItemLeft" align="right" valign="top"><a id="ab7e7313646e71fe403bc8259635538d4"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator *=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:ab7e7313646e71fe403bc8259635538d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab360a06fd10f4676f167dbcb13c53ff1"><td class="memItemLeft" align="right" valign="top"><a id="ab360a06fd10f4676f167dbcb13c53ff1"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator/</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:ab360a06fd10f4676f167dbcb13c53ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c9aabb9d02e43c2c8adf0e7038ccdcc"><td class="memItemLeft" align="right" valign="top"><a id="a0c9aabb9d02e43c2c8adf0e7038ccdcc"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator/=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a0c9aabb9d02e43c2c8adf0e7038ccdcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e25f84825315deec22fb66b38bea64a"><td class="memItemLeft" align="right" valign="top"><a id="a0e25f84825315deec22fb66b38bea64a"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator%</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a0e25f84825315deec22fb66b38bea64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29b1f2099ff88aaaf3922490f5856760"><td class="memItemLeft" align="right" valign="top"><a id="a29b1f2099ff88aaaf3922490f5856760"></a>
<a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator%=</b> (const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a29b1f2099ff88aaaf3922490f5856760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aea837eab37c7f7e5cc4d5f9dd908d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a4aea837eab37c7f7e5cc4d5f9dd908d0">operator++</a> ()</td></tr>
<tr class="separator:a4aea837eab37c7f7e5cc4d5f9dd908d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a501456ac6fc2c6a5ff68ad43cd184a57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a501456ac6fc2c6a5ff68ad43cd184a57">operator++</a> (int)</td></tr>
<tr class="separator:a501456ac6fc2c6a5ff68ad43cd184a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3f140b328bc4cc5b4916e40294425a"><td class="memItemLeft" align="right" valign="top"><a id="a3c3f140b328bc4cc5b4916e40294425a"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator--</b> ()</td></tr>
<tr class="separator:a3c3f140b328bc4cc5b4916e40294425a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bce90ae7b71ea5e68272d2684a7e7d"><td class="memItemLeft" align="right" valign="top"><a id="a56bce90ae7b71ea5e68272d2684a7e7d"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator--</b> (int)</td></tr>
<tr class="separator:a56bce90ae7b71ea5e68272d2684a7e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230d0a0fe82951e2c73d93d87a03652d"><td class="memTemplParams" colspan="2">template&lt;class ostream_type &gt; </td></tr>
<tr class="memitem:a230d0a0fe82951e2c73d93d87a03652d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a230d0a0fe82951e2c73d93d87a03652d">PrintTable</a> (ostream_type &amp;output) const</td></tr>
<tr class="separator:a230d0a0fe82951e2c73d93d87a03652d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ca522d3e99c95b3b2fcbf88f20492c5"><td class="memTemplParams" colspan="2">template&lt;class char_type , class ostream_type &gt; </td></tr>
<tr class="memitem:a6ca522d3e99c95b3b2fcbf88f20492c5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a6ca522d3e99c95b3b2fcbf88f20492c5">PrintLog</a> (const char_type *msg, ostream_type &amp;output) const</td></tr>
<tr class="separator:a6ca522d3e99c95b3b2fcbf88f20492c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5e0b513b13034023e4d2d68c033b8be"><td class="memTemplParams" colspan="2">template&lt;class char_type , class ostream_type &gt; </td></tr>
<tr class="memitem:af5e0b513b13034023e4d2d68c033b8be"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#af5e0b513b13034023e4d2d68c033b8be">PrintLog</a> (const char_type *msg, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> carry, ostream_type &amp;output) const</td></tr>
<tr class="separator:af5e0b513b13034023e4d2d68c033b8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76625f22f97d1723685966cb6b3d3ffa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a76625f22f97d1723685966cb6b3d3ffa">Size</a> () const</td></tr>
<tr class="separator:a76625f22f97d1723685966cb6b3d3ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2086439211b3fbc02eb998b328483ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a> ()</td></tr>
<tr class="separator:ab2086439211b3fbc02eb998b328483ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa857e4036b8a726c70c51ff088080acb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aa857e4036b8a726c70c51ff088080acb">SetOne</a> ()</td></tr>
<tr class="separator:aa857e4036b8a726c70c51ff088080acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47f6a6820ea8447013d8e20ae5fa0545"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a47f6a6820ea8447013d8e20ae5fa0545">Swap</a> (<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a47f6a6820ea8447013d8e20ae5fa0545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12602f12aa9618ac8a24d151b9cea650"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a12602f12aa9618ac8a24d151b9cea650">SetFromTable</a> (const unsigned int *temp_table, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> temp_table_len)</td></tr>
<tr class="separator:a12602f12aa9618ac8a24d151b9cea650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbcc02c03802229412f902de309bad7d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#abbcc02c03802229412f902de309bad7d">Rcl</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bits, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c=0)</td></tr>
<tr class="separator:abbcc02c03802229412f902de309bad7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f395f84b208f36a215d8b5f53400b42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a0f395f84b208f36a215d8b5f53400b42">Rcr</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bits, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c=0)</td></tr>
<tr class="separator:a0f395f84b208f36a215d8b5f53400b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adef5243a8390314fb21339145e3a154c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#adef5243a8390314fb21339145e3a154c">CompensationToLeft</a> ()</td></tr>
<tr class="separator:adef5243a8390314fb21339145e3a154c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1639273f7e78c737e532d0375b4b1e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ad1639273f7e78c737e532d0375b4b1e9">FindLeadingBit</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;table_id, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;index) const</td></tr>
<tr class="separator:ad1639273f7e78c737e532d0375b4b1e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25fde993c54b2db2043947d462369068"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a25fde993c54b2db2043947d462369068">FindLowestBit</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;table_id, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;index) const</td></tr>
<tr class="separator:a25fde993c54b2db2043947d462369068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cee17c474838e4d58d55e4c8524fdb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9cee17c474838e4d58d55e4c8524fdb7">GetBit</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bit_index) const</td></tr>
<tr class="separator:a9cee17c474838e4d58d55e4c8524fdb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb19e9f7b5028360ea08dd0c6b43be85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aeb19e9f7b5028360ea08dd0c6b43be85">SetBit</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bit_index)</td></tr>
<tr class="separator:aeb19e9f7b5028360ea08dd0c6b43be85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f305dc39575008dc2ad1f094cdccacc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a3f305dc39575008dc2ad1f094cdccacc">BitAnd</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a3f305dc39575008dc2ad1f094cdccacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab254e021f626e59b5e32e0b8e02ce9be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ab254e021f626e59b5e32e0b8e02ce9be">BitOr</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:ab254e021f626e59b5e32e0b8e02ce9be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82d9a7e2147c21a09bd7480d5d046336"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a82d9a7e2147c21a09bd7480d5d046336">BitXor</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a82d9a7e2147c21a09bd7480d5d046336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a323201eabc966dc24349d965fae7f9cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a323201eabc966dc24349d965fae7f9cd">BitNot</a> ()</td></tr>
<tr class="separator:a323201eabc966dc24349d965fae7f9cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9710bb273fcf635ed8bb055aa17a7467"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9710bb273fcf635ed8bb055aa17a7467">BitNot2</a> ()</td></tr>
<tr class="separator:a9710bb273fcf635ed8bb055aa17a7467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b57350163b4dc79e480995fc044ad7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a47b57350163b4dc79e480995fc044ad7">MulInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss2)</td></tr>
<tr class="separator:a47b57350163b4dc79e480995fc044ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0deed24562f4736ea3601a91612054b"><td class="memTemplParams" colspan="2">template&lt;uint result_size&gt; </td></tr>
<tr class="memitem:ad0deed24562f4736ea3601a91612054b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ad0deed24562f4736ea3601a91612054b">MulInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; result_size &gt; &amp;result) const</td></tr>
<tr class="separator:ad0deed24562f4736ea3601a91612054b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4963e5c44942adf38731307f34287dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aa4963e5c44942adf38731307f34287dd">Mul</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> algorithm=100)</td></tr>
<tr class="separator:aa4963e5c44942adf38731307f34287dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac655c4d3a5ec23052292ccf3a058a6f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ac655c4d3a5ec23052292ccf3a058a6f1">MulBig</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;result, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> algorithm=100)</td></tr>
<tr class="separator:ac655c4d3a5ec23052292ccf3a058a6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d427ec739abdc4e1a8354f19d87e022"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9d427ec739abdc4e1a8354f19d87e022">Mul1</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a9d427ec739abdc4e1a8354f19d87e022"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3da327dfd6e59621497c735ababb392e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a3da327dfd6e59621497c735ababb392e">Mul1Big</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2_, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;result)</td></tr>
<tr class="separator:a3da327dfd6e59621497c735ababb392e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c3b166dbd485361dff8df9756fd9d9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a1c3b166dbd485361dff8df9756fd9d9a">Mul2</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a1c3b166dbd485361dff8df9756fd9d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae145ad09c7e20a9f5944cdf94ac2b189"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">Mul2Big</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;result)</td></tr>
<tr class="separator:ae145ad09c7e20a9f5944cdf94ac2b189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8167a3f0b869b08577f46ab7ea3581d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a8167a3f0b869b08577f46ab7ea3581d4">Mul3</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:a8167a3f0b869b08577f46ab7ea3581d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59c8668cd527298db160079e96a1477a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">Mul3Big</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;result)</td></tr>
<tr class="separator:a59c8668cd527298db160079e96a1477a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaa67dddec10cd14617a7402e6a0bb26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#adaa67dddec10cd14617a7402e6a0bb26">MulFastest</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2)</td></tr>
<tr class="separator:adaa67dddec10cd14617a7402e6a0bb26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9147e767c1f90666a21c581343854c7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9147e767c1f90666a21c581343854c7a">MulFastestBig</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;result)</td></tr>
<tr class="separator:a9147e767c1f90666a21c581343854c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcfa312adce5e4c9f59eb7bb67ee925"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aadcfa312adce5e4c9f59eb7bb67ee925">DivInt</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> divisor, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *remainder=0)</td></tr>
<tr class="separator:aadcfa312adce5e4c9f59eb7bb67ee925"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7da0becbd05fdb18aef340a10fdaa981"><td class="memItemLeft" align="right" valign="top"><a id="a7da0becbd05fdb18aef340a10fdaa981"></a>
<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DivInt</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> divisor, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;remainder)</td></tr>
<tr class="separator:a7da0becbd05fdb18aef340a10fdaa981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66ed2921ae082f9694afb330ec67d05d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a66ed2921ae082f9694afb330ec67d05d">Div</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *remainder=0, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> algorithm=3)</td></tr>
<tr class="separator:a66ed2921ae082f9694afb330ec67d05d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d9c05ea20c070265b33342c0f76b2f9"><td class="memItemLeft" align="right" valign="top"><a id="a1d9c05ea20c070265b33342c0f76b2f9"></a>
<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Div</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;remainder, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> algorithm=3)</td></tr>
<tr class="separator:a1d9c05ea20c070265b33342c0f76b2f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71bf44fb6746f7633b2c485bc6ae082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ae71bf44fb6746f7633b2c485bc6ae082">Div1</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *remainder=0)</td></tr>
<tr class="separator:ae71bf44fb6746f7633b2c485bc6ae082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a523890a408a7102429ce720df3dc50dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a523890a408a7102429ce720df3dc50dc">Div1</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;remainder)</td></tr>
<tr class="separator:a523890a408a7102429ce720df3dc50dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad855eb4debd1fba0a49336849df210"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#acad855eb4debd1fba0a49336849df210">Div2</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *remainder=0)</td></tr>
<tr class="separator:acad855eb4debd1fba0a49336849df210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60c05b01f4bad1bef8561e2d54ea0702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a60c05b01f4bad1bef8561e2d54ea0702">Div2</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;divisor, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;remainder)</td></tr>
<tr class="separator:a60c05b01f4bad1bef8561e2d54ea0702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acff57af28e5b4d65f0bf5fd0de5b455b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#acff57af28e5b4d65f0bf5fd0de5b455b">Div3</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *remainder=0)</td></tr>
<tr class="separator:acff57af28e5b4d65f0bf5fd0de5b455b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f983c5363cce698955c5ab3c11741e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a43f983c5363cce698955c5ab3c11741e">Div3</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;remainder)</td></tr>
<tr class="separator:a43f983c5363cce698955c5ab3c11741e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdbaf5bd46ab8035c1d6983c761302d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#afdbaf5bd46ab8035c1d6983c761302d2">Pow</a> (<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; pow)</td></tr>
<tr class="separator:afdbaf5bd46ab8035c1d6983c761302d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3235637450aac9a4b0f9e05ce69f386"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#af3235637450aac9a4b0f9e05ce69f386">Sqrt</a> ()</td></tr>
<tr class="separator:af3235637450aac9a4b0f9e05ce69f386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e97560d5f03d2321130a33fd24c74c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a60e97560d5f03d2321130a33fd24c74c">ClearFirstBits</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> n)</td></tr>
<tr class="separator:a60e97560d5f03d2321130a33fd24c74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2421734423858544d65515584fa4683c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a2421734423858544d65515584fa4683c">IsTheHighestBitSet</a> () const</td></tr>
<tr class="separator:a2421734423858544d65515584fa4683c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65b27dabbb8cefab74c1c31c6610a2b6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a65b27dabbb8cefab74c1c31c6610a2b6">IsTheLowestBitSet</a> () const</td></tr>
<tr class="separator:a65b27dabbb8cefab74c1c31c6610a2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad20b71dfc5f2eed0c6ae4c09d29ac960"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ad20b71dfc5f2eed0c6ae4c09d29ac960">IsOnlyTheHighestBitSet</a> () const</td></tr>
<tr class="separator:ad20b71dfc5f2eed0c6ae4c09d29ac960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6dd8e0cab3a501f094b6b7d22db9805"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ac6dd8e0cab3a501f094b6b7d22db9805">IsOnlyTheLowestBitSet</a> () const</td></tr>
<tr class="separator:ac6dd8e0cab3a501f094b6b7d22db9805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7e4c950e2abeda28e58a35725d37ef7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">IsZero</a> () const</td></tr>
<tr class="separator:ac7e4c950e2abeda28e58a35725d37ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd1c336e927429ad0aa43d26cfd57eaf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#abd1c336e927429ad0aa43d26cfd57eaf">AreFirstBitsZero</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bits) const</td></tr>
<tr class="separator:abd1c336e927429ad0aa43d26cfd57eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403da6805149cdfb8a69f39a15cdf505"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ToUInt</a> () const</td></tr>
<tr class="separator:a403da6805149cdfb8a69f39a15cdf505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08ef836b2bbcc7acaad88ea4284332d5"><td class="memTemplParams" colspan="2">template&lt;class string_type &gt; </td></tr>
<tr class="memitem:a08ef836b2bbcc7acaad88ea4284332d5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a08ef836b2bbcc7acaad88ea4284332d5">ToStringBase</a> (string_type &amp;result, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b=10, bool negative=false) const</td></tr>
<tr class="separator:a08ef836b2bbcc7acaad88ea4284332d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf90bb1f18373b442393de4135dab57e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#abf90bb1f18373b442393de4135dab57e">CmpSmaller</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> index=-1) const</td></tr>
<tr class="separator:abf90bb1f18373b442393de4135dab57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5243626e5c3cddaf16d6a9ca9e4deabe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a5243626e5c3cddaf16d6a9ca9e4deabe">CmpBigger</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> index=-1) const</td></tr>
<tr class="separator:a5243626e5c3cddaf16d6a9ca9e4deabe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0321f55dfb72128ead8120bd854dc4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a5c0321f55dfb72128ead8120bd854dc4">CmpEqual</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> index=-1) const</td></tr>
<tr class="separator:a5c0321f55dfb72128ead8120bd854dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb25ff6d1b7e1dca07c22678b047e237"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#adb25ff6d1b7e1dca07c22678b047e237">CmpSmallerEqual</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> index=-1) const</td></tr>
<tr class="separator:adb25ff6d1b7e1dca07c22678b047e237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a834bea52c5400450f6213aadce4cadd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a834bea52c5400450f6213aadce4cadd3">CmpBiggerEqual</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l, <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> index=-1) const</td></tr>
<tr class="separator:a834bea52c5400450f6213aadce4cadd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef349143cab8808e8cc5004943ddbd82"><td class="memItemLeft" align="right" valign="top"><a id="aef349143cab8808e8cc5004943ddbd82"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:aef349143cab8808e8cc5004943ddbd82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d417f101417974cafedc71848b3605"><td class="memItemLeft" align="right" valign="top"><a id="af8d417f101417974cafedc71848b3605"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:af8d417f101417974cafedc71848b3605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55ef58149dc52cc7b004568ea675762"><td class="memItemLeft" align="right" valign="top"><a id="ac55ef58149dc52cc7b004568ea675762"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:ac55ef58149dc52cc7b004568ea675762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb1141c9cb23425b43c78bca16a4a17f"><td class="memItemLeft" align="right" valign="top"><a id="abb1141c9cb23425b43c78bca16a4a17f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:abb1141c9cb23425b43c78bca16a4a17f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76f3db7371fc91694c29bd10f8bb6e8c"><td class="memItemLeft" align="right" valign="top"><a id="a76f3db7371fc91694c29bd10f8bb6e8c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:a76f3db7371fc91694c29bd10f8bb6e8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae37fa22b9bf72f6f0fc3df9e167cdeb6"><td class="memItemLeft" align="right" valign="top"><a id="ae37fa22b9bf72f6f0fc3df9e167cdeb6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;l) const</td></tr>
<tr class="separator:ae37fa22b9bf72f6f0fc3df9e167cdeb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9becee39775ae0fb80622d7ad72f5820"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9becee39775ae0fb80622d7ad72f5820">operator-</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a9becee39775ae0fb80622d7ad72f5820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d518bb6ac3d5b6586c030ee0cb2e6d"><td class="memItemLeft" align="right" valign="top"><a id="a73d518bb6ac3d5b6586c030ee0cb2e6d"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a73d518bb6ac3d5b6586c030ee0cb2e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd4ddb984b7c9363085e2913498ef52"><td class="memItemLeft" align="right" valign="top"><a id="a9fd4ddb984b7c9363085e2913498ef52"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a9fd4ddb984b7c9363085e2913498ef52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71cb6cebdedbc4ec5b8dcd7ad597d01b"><td class="memItemLeft" align="right" valign="top"><a id="a71cb6cebdedbc4ec5b8dcd7ad597d01b"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a71cb6cebdedbc4ec5b8dcd7ad597d01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4217fde599730b37bf9dc62b34127b32"><td class="memItemLeft" align="right" valign="top"><a id="a4217fde599730b37bf9dc62b34127b32"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator *</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a4217fde599730b37bf9dc62b34127b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ca505f2f0fec1a533a113f3ac6f9db4"><td class="memItemLeft" align="right" valign="top"><a id="a3ca505f2f0fec1a533a113f3ac6f9db4"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator *=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a3ca505f2f0fec1a533a113f3ac6f9db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4918181366a7546732760571af2ae1"><td class="memItemLeft" align="right" valign="top"><a id="acd4918181366a7546732760571af2ae1"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator/</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:acd4918181366a7546732760571af2ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6a3b3ed0687e39abd7c17994c87c955"><td class="memItemLeft" align="right" valign="top"><a id="ac6a3b3ed0687e39abd7c17994c87c955"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator/=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:ac6a3b3ed0687e39abd7c17994c87c955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42f81aa037635e7decc8b84e242f0556"><td class="memItemLeft" align="right" valign="top"><a id="a42f81aa037635e7decc8b84e242f0556"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator%</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a42f81aa037635e7decc8b84e242f0556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90e279f51bd540b37876d3aee4ac4b2f"><td class="memItemLeft" align="right" valign="top"><a id="a90e279f51bd540b37876d3aee4ac4b2f"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator%=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a90e279f51bd540b37876d3aee4ac4b2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df99ac1de1ee50cfb572d7572da8dc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a6df99ac1de1ee50cfb572d7572da8dc6">operator~</a> () const</td></tr>
<tr class="separator:a6df99ac1de1ee50cfb572d7572da8dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6715e03f830918ba15eeea23e96f6f22"><td class="memItemLeft" align="right" valign="top"><a id="a6715e03f830918ba15eeea23e96f6f22"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator &amp;</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:a6715e03f830918ba15eeea23e96f6f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70c7370dff1695813906c5fbef04c014"><td class="memItemLeft" align="right" valign="top"><a id="a70c7370dff1695813906c5fbef04c014"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&amp;=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a70c7370dff1695813906c5fbef04c014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb414dacfd45379749eef9b5eb93cb6f"><td class="memItemLeft" align="right" valign="top"><a id="afb414dacfd45379749eef9b5eb93cb6f"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator|</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:afb414dacfd45379749eef9b5eb93cb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55684b13f402603f769b63c2479a26f9"><td class="memItemLeft" align="right" valign="top"><a id="a55684b13f402603f769b63c2479a26f9"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator|=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:a55684b13f402603f769b63c2479a26f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea0e863d81fc3f5af2b559dfc22f7064"><td class="memItemLeft" align="right" valign="top"><a id="aea0e863d81fc3f5af2b559dfc22f7064"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator^</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2) const</td></tr>
<tr class="separator:aea0e863d81fc3f5af2b559dfc22f7064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab01635ac8aa45aea3c64e0308580768a"><td class="memItemLeft" align="right" valign="top"><a id="ab01635ac8aa45aea3c64e0308580768a"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator^=</b> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;p2)</td></tr>
<tr class="separator:ab01635ac8aa45aea3c64e0308580768a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f6f5ea6f4d3fd58e23a0420c444b7fb"><td class="memItemLeft" align="right" valign="top"><a id="a7f6f5ea6f4d3fd58e23a0420c444b7fb"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;</b> (int move) const</td></tr>
<tr class="separator:a7f6f5ea6f4d3fd58e23a0420c444b7fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f1b072bcc547806b3938aafb05a4184"><td class="memItemLeft" align="right" valign="top"><a id="a9f1b072bcc547806b3938aafb05a4184"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;&gt;=</b> (int move)</td></tr>
<tr class="separator:a9f1b072bcc547806b3938aafb05a4184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081aebf41b42cdaa63cade61fcb1646a"><td class="memItemLeft" align="right" valign="top"><a id="a081aebf41b42cdaa63cade61fcb1646a"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (int move) const</td></tr>
<tr class="separator:a081aebf41b42cdaa63cade61fcb1646a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4919459901bcde1e4189b9168095d548"><td class="memItemLeft" align="right" valign="top"><a id="a4919459901bcde1e4189b9168095d548"></a>
<a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;=</b> (int move)</td></tr>
<tr class="separator:a4919459901bcde1e4189b9168095d548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af69f4f1a71948175abc653a82a728665"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#af69f4f1a71948175abc653a82a728665">Add</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c=0)</td></tr>
<tr class="separator:af69f4f1a71948175abc653a82a728665"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62de1450c61299cdbbda5632b85386c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a62de1450c61299cdbbda5632b85386c8">Sub</a> (const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;ss2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c=0)</td></tr>
<tr class="separator:a62de1450c61299cdbbda5632b85386c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aa05536ad0b4ff594bb3f6b9afc7aa3d8"><td class="memTemplParams" colspan="2">template&lt;class char_type , class ostream_type &gt; </td></tr>
<tr class="memitem:aa05536ad0b4ff594bb3f6b9afc7aa3d8"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">PrintVectorLog</a> (const char_type *msg, ostream_type &amp;output, const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *vector, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> vector_len)</td></tr>
<tr class="separator:aa05536ad0b4ff594bb3f6b9afc7aa3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc701dece8f6d0e9d38310d936b2b065"><td class="memTemplParams" colspan="2">template&lt;class char_type , class ostream_type &gt; </td></tr>
<tr class="memitem:abc701dece8f6d0e9d38310d936b2b065"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#abc701dece8f6d0e9d38310d936b2b065">PrintVectorLog</a> (const char_type *msg, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> carry, ostream_type &amp;output, const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *vector, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> vector_len)</td></tr>
<tr class="separator:abc701dece8f6d0e9d38310d936b2b065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8773b87be5ce9346232dc64540b816a"><td class="memItemLeft" align="right" valign="top"><a id="ad8773b87be5ce9346232dc64540b816a"></a>
static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>AddTwoWords</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> a, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> carry, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result)</td></tr>
<tr class="separator:ad8773b87be5ce9346232dc64540b816a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f61c05cf6f5fef6dfe70911531ac39d"><td class="memItemLeft" align="right" valign="top"><a id="a8f61c05cf6f5fef6dfe70911531ac39d"></a>
static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>SubTwoWords</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> a, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> carry, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result)</td></tr>
<tr class="separator:a8f61c05cf6f5fef6dfe70911531ac39d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add0fbf5728e0a136c82fb82e03706060"><td class="memItemLeft" align="right" valign="top"><a id="add0fbf5728e0a136c82fb82e03706060"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>DivTwoWords2</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> a, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *r, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *rest)</td></tr>
<tr class="separator:add0fbf5728e0a136c82fb82e03706060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac721022a2ad75da1c77cd8043d520a62"><td class="memItemLeft" align="right" valign="top"><a id="ac721022a2ad75da1c77cd8043d520a62"></a>
static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DivTwoWordsNormalize</b> (<a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> &amp;a_, <a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> &amp;b_, <a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> &amp;c_)</td></tr>
<tr class="separator:ac721022a2ad75da1c77cd8043d520a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4855585f26161579541b3f4fe138d51d"><td class="memItemLeft" align="right" valign="top"><a id="a4855585f26161579541b3f4fe138d51d"></a>
static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DivTwoWordsUnnormalize</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> u, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> d)</td></tr>
<tr class="separator:a4855585f26161579541b3f4fe138d51d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6875cdc42ce5c452cd048b0005129e1"><td class="memItemLeft" align="right" valign="top"><a id="aa6875cdc42ce5c452cd048b0005129e1"></a>
static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>DivTwoWordsCalculate</b> (<a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> u_, unsigned int u3, <a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> v_)</td></tr>
<tr class="separator:aa6875cdc42ce5c452cd048b0005129e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61fa8f71a4ee10569ff7ae1319165223"><td class="memItemLeft" align="right" valign="top"><a id="a61fa8f71a4ee10569ff7ae1319165223"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>MultiplySubtract</b> (<a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> &amp;u_, unsigned int &amp;u3, unsigned int &amp;q, <a class="el" href="unionttmath_1_1_u_int_1_1uint__.html">uint_</a> v_)</td></tr>
<tr class="separator:a61fa8f71a4ee10569ff7ae1319165223"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add0cf14a0684fc8e7d8b1471759b35e0"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#add0cf14a0684fc8e7d8b1471759b35e0">LibTypeStr</a> ()</td></tr>
<tr class="separator:add0cf14a0684fc8e7d8b1471759b35e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce4f7a208708d70114fc49091f389c6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacettmath.html#a5c3bd12cd3d050852a60e022e5e12799">LibTypeCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#adce4f7a208708d70114fc49091f389c6">LibType</a> ()</td></tr>
<tr class="separator:adce4f7a208708d70114fc49091f389c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3338d863babca5228366a19f843efb56"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a3338d863babca5228366a19f843efb56">AddVector</a> (const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *ss1, const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *ss2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss1_size, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss2_size, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result)</td></tr>
<tr class="separator:a3338d863babca5228366a19f843efb56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a6ae874a0cf32e0e21a34b9f64feda8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a3a6ae874a0cf32e0e21a34b9f64feda8">SubVector</a> (const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *ss1, const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *ss2, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss1_size, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> ss2_size, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result)</td></tr>
<tr class="separator:a3a6ae874a0cf32e0e21a34b9f64feda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e79c65f71299edec794cc262a0141a"><td class="memItemLeft" align="right" valign="top"><a id="a32e79c65f71299edec794cc262a0141a"></a>
static <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FindLeadingBitInWord</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x)</td></tr>
<tr class="separator:a32e79c65f71299edec794cc262a0141a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc8d69b0c56dfd5030e466c86c0ae714"><td class="memItemLeft" align="right" valign="top"><a id="adc8d69b0c56dfd5030e466c86c0ae714"></a>
static <a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FindLowestBitInWord</b> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x)</td></tr>
<tr class="separator:adc8d69b0c56dfd5030e466c86c0ae714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaff1daf23f958ea1000c63e58f8a1a67"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#aaff1daf23f958ea1000c63e58f8a1a67">SetBitInWord</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;value, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bit)</td></tr>
<tr class="separator:aaff1daf23f958ea1000c63e58f8a1a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ef4b05ec898e0407bd1d01705fce885"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">MulTwoWords</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> a, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result_high, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *result_low)</td></tr>
<tr class="separator:a9ef4b05ec898e0407bd1d01705fce885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d4ebe31f0063a31aa1a28dcd8ee9b8b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a9d4ebe31f0063a31aa1a28dcd8ee9b8b">DivTwoWords</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> a, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *r, <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *rest)</td></tr>
<tr class="separator:a9d4ebe31f0063a31aa1a28dcd8ee9b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a54c67e2e3d1a4d6ea96e828d15c4443a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a> [value_size]</td></tr>
<tr class="separator:a54c67e2e3d1a4d6ea96e828d15c4443a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a73615fefe06732d9372cf952a324fa70"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_u_int.html#a73615fefe06732d9372cf952a324fa70">ToStringLog2</a> (<a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x) const</td></tr>
<tr class="separator:a73615fefe06732d9372cf952a324fa70"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a213cd329ccb330a0cc107af347237128"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a213cd329ccb330a0cc107af347237128">operator&lt;&lt;</a> (std::ostream &amp;s, const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l)</td></tr>
<tr class="separator:a213cd329ccb330a0cc107af347237128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14e997280b1db4b309617b58ef3bf338"><td class="memItemLeft" align="right" valign="top">std::wostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a14e997280b1db4b309617b58ef3bf338">operator&lt;&lt;</a> (std::wostream &amp;s, const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l)</td></tr>
<tr class="separator:a14e997280b1db4b309617b58ef3bf338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d185b1e32e19aaa609c67cdb1a3c95"><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#ae7d185b1e32e19aaa609c67cdb1a3c95">operator&gt;&gt;</a> (std::istream &amp;s, <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l)</td></tr>
<tr class="separator:ae7d185b1e32e19aaa609c67cdb1a3c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c0472f9bb3587bdf364cd9682f6d092"><td class="memItemLeft" align="right" valign="top">std::wistream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classttmath_1_1_int.html#a7c0472f9bb3587bdf364cd9682f6d092">operator&gt;&gt;</a> (std::wistream &amp;s, <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;l)</td></tr>
<tr class="separator:a7c0472f9bb3587bdf364cd9682f6d092"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;uint value_size&gt;<br />
class ttmath::Int&lt; value_size &gt;</h3>

<p><a class="el" href="classttmath_1_1_int.html" title="Int implements a big integer value with a sign.">Int</a> implements a big integer value with a sign. </p>
<p>value_size - how many bytes specify our value</p><ul>
<li>on 32bit platforms: value_size=1 -&gt; 4 bytes -&gt; 32 bits</li>
<li>on 64bit platforms: value_size=1 -&gt; 8 bytes -&gt; 64 bits value_size = 1,2,3,4,5,6.... </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00063">63</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab73451d9fcd997f7b9c08880d1c4283a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab73451d9fcd997f7b9c08880d1c4283a">&#9670;&nbsp;</a></span>Int() <span class="overload">[1/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting the uint to this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00807">807</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    {</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(i);</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9c7098d61e92508c4543092097eb130b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c7098d61e92508c4543092097eb130b">&#9670;&nbsp;</a></span>Int() <span class="overload">[2/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a copy constructor </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00816">816</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;                                   : UInt&lt;value_size&gt;()</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    {</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(u);</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae8765a5ebac033979c24364b856bf3f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8765a5ebac033979c24364b856bf3f9">&#9670;&nbsp;</a></span>Int() <span class="overload">[3/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for copying from another types </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00826">826</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    {</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <span class="comment">// look that &#39;size&#39; we still set as &#39;value_size&#39; and not as u.value_size</span></div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(u);</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7ae76136a3f4b572e1f053e2cbbf2fe3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ae76136a3f4b572e1f053e2cbbf2fe3">&#9670;&nbsp;</a></span>Int() <span class="overload">[4/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting the uint to this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00862">862</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    {</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(i);</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5ecc131f271cc1339b4a801e0e5b4312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ecc131f271cc1339b4a801e0e5b4312">&#9670;&nbsp;</a></span>Int() <span class="overload">[5/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for copying from another types </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00872">872</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    {</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;        <span class="comment">// look that &#39;size&#39; we still set as &#39;value_size&#39; and not as u.value_size</span></div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(u);</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a001c6233a67377725d0db5c23674d009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a001c6233a67377725d0db5c23674d009">&#9670;&nbsp;</a></span>Int() <span class="overload">[6/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting 32 bit unsigned int to this class this constructor is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01037">1037</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;    {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(i);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a6e014d74189dc9e40700b353bffbe65c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e014d74189dc9e40700b353bffbe65c">&#9670;&nbsp;</a></span>Int() <span class="overload">[7/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">signed int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting 32 bit signed int to this class this constructor is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01059">1059</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;    {</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(i);</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a106d1da7168ddd9833203179ecccdde4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a106d1da7168ddd9833203179ecccdde4">&#9670;&nbsp;</a></span>Int() <span class="overload">[8/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting string to this class (with the base=10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01071">1071</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    {</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>(s);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a401e1c4c951131c14acadbe241e55ffe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a401e1c4c951131c14acadbe241e55ffe">&#9670;&nbsp;</a></span>Int() <span class="overload">[9/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting a string to this class (with the base=10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01080">1080</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    {</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str() );</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a2c02f27928e10b6c570e11e0575bd8d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c02f27928e10b6c570e11e0575bd8d0">&#9670;&nbsp;</a></span>Int() <span class="overload">[10/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting string to this class (with the base=10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01091">1091</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;    {</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>(s);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acc953742bcb2e6af7a7bc7744d898c40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc953742bcb2e6af7a7bc7744d898c40">&#9670;&nbsp;</a></span>Int() <span class="overload">[11/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a constructor for converting a string to this class (with the base=10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01100">1100</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    {</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str() );</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aefe7fa173de68c3aeaf30313bc4232db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefe7fa173de68c3aeaf30313bc4232db">&#9670;&nbsp;</a></span>Int() <span class="overload">[12/12]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>a default constructor</p>
<p>we don't clear table etc. </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01113">1113</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    {</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="aca2f80cb446bfb0a1c9a3e4ff09ebd00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca2f80cb446bfb0a1c9a3e4ff09ebd00">&#9670;&nbsp;</a></span>~Int()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::~<a class="el" href="classttmath_1_1_int.html">Int</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the destructor </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01121">1121</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;    {</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aeb74289f960343a11bf25a9b510fd99d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb74289f960343a11bf25a9b510fd99d">&#9670;&nbsp;</a></span>Abs()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Abs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>it sets an absolute value</p>
<p>it can return carry (1) (look on <a class="el" href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ChangeSign()</a> for details) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00168">168</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    {</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordflow">if</span>( !<a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>() )</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ChangeSign</a>();</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_a1459d8f91899c87e26a59ccbf9ed3f00"><div class="ttname"><a href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ttmath::Int::ChangeSign</a></div><div class="ttdeci">uint ChangeSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00105">ttmathint.h:105</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00930">ttmath::Big&lt; exp, man &gt;::Add()</a>, <a class="el" href="ttmathbig_8h_source.html#l01002">ttmath::Big&lt; exp, man &gt;::BitAnd()</a>, <a class="el" href="ttmathbig_8h_source.html#l01063">ttmath::Big&lt; exp, man &gt;::BitOr()</a>, <a class="el" href="ttmathbig_8h_source.html#l01123">ttmath::Big&lt; exp, man &gt;::BitXor()</a>, <a class="el" href="ttmathint_8h_source.html#l00480">ttmath::Int&lt; exp &gt;::Div()</a>, <a class="el" href="ttmathint_8h_source.html#l00524">ttmath::Int&lt; exp &gt;::DivInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00440">ttmath::Int&lt; exp &gt;::Mul()</a>, and <a class="el" href="ttmathint_8h_source.html#l00398">ttmath::Int&lt; exp &gt;::MulInt()</a>.</p>

</div>
</div>
<a id="a34a2cf4362d6b66b0c3f00f94e4c3b4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a2cf4362d6b66b0c3f00f94e4c3b4b">&#9670;&nbsp;</a></span>Add() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Add </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method adds two value with a sign and returns a carry</p>
<p>we're using methods from the base class because values are stored with U2 we must only make the carry correction</p>
<p>this = p1(=this) + p2</p>
<p>when p1&gt;=0 i p2&gt;=0 carry is set when the highest bit of value is set when p1&lt;0 i p2&lt;0 carry is set when the highest bit of value is clear when p1&gt;=0 i p2&lt;0 carry will never be set when p1&lt;0  i p2&gt;=0 carry will never be set </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00220">220</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    {</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        <span class="keywordtype">bool</span> p2_is_sign = ss2.IsSign();</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#af69f4f1a71948175abc653a82a728665">UInt&lt;value_size&gt;::Add</a>(ss2);     </div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterAdding(p1_is_sign, p2_is_sign);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_af69f4f1a71948175abc653a82a728665"><div class="ttname"><a href="classttmath_1_1_u_int.html#af69f4f1a71948175abc653a82a728665">ttmath::UInt::Add</a></div><div class="ttdeci">uint Add(const UInt&lt; value_size &gt; &amp;ss2, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00158">ttmathuint_x86_64.h:158</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01966">ttmath::Big&lt; exp, man &gt;::Exp()</a>, and <a class="el" href="ttmathbig_8h_source.html#l01179">ttmath::Big&lt; exp, man &gt;::MulUInt()</a>.</p>

</div>
</div>
<a id="af69f4f1a71948175abc653a82a728665"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af69f4f1a71948175abc653a82a728665">&#9670;&nbsp;</a></span>Add() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Add </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>c</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>basic mathematic functions</p>
<p>this method adding ss2 to the this and adding carry if it's defined (this = this + ss2 + c)</p>
<p>this method is created only on a 64bit platform***</p>
<p>c must be zero or one (might be a bigger value than 1) function returns carry (1) (if it was) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00158">158</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    {</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b = value_size;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> * p1 = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> * p2 = ss2.table;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="comment">// we don&#39;t have to use TTMATH_REFERENCE_ASSERT here</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="comment">// this algorithm doesn&#39;t require it</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;            c = ttmath_adc_x64(p1,p2,b,c);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> dummy, dummy2;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;            <span class="comment">/*</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">                this part should be compiled with gcc</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment">            */</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;            __asm__ __volatile__(</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    </div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                <span class="stringliteral">&quot;xorq %%rdx, %%rdx              \n&quot;</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                <span class="stringliteral">&quot;negq %%rax                     \n&quot;</span>     <span class="comment">// CF=1 if rax!=0 , CF=0 if rax==0</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;            <span class="stringliteral">&quot;1:                                 \n&quot;</span></div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                <span class="stringliteral">&quot;movq (%%rsi,%%rdx,8), %%rax    \n&quot;</span></div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                <span class="stringliteral">&quot;adcq %%rax, (%%rbx,%%rdx,8)    \n&quot;</span></div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;            </div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                <span class="stringliteral">&quot;incq %%rdx                     \n&quot;</span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                <span class="stringliteral">&quot;decq %%rcx                     \n&quot;</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;            <span class="stringliteral">&quot;jnz 1b                             \n&quot;</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                <span class="stringliteral">&quot;adcq %%rcx, %%rcx              \n&quot;</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                : <span class="stringliteral">&quot;=c&quot;</span> (c), <span class="stringliteral">&quot;=a&quot;</span> (dummy), <span class="stringliteral">&quot;=d&quot;</span> (dummy2)</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                : <span class="stringliteral">&quot;0&quot;</span> (b),  <span class="stringliteral">&quot;1&quot;</span> (c), <span class="stringliteral">&quot;b&quot;</span> (p1), <span class="stringliteral">&quot;S&quot;</span> (p2)</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                : <span class="stringliteral">&quot;cc&quot;</span>, <span class="stringliteral">&quot;memory&quot;</span> );</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Add&quot;</span>, c)</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    </div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00220">ttmath::Int&lt; exp &gt;::Add()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>.</p>

</div>
</div>
<a id="a1988d656495b09a5d357cb42f080baf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1988d656495b09a5d357cb42f080baf5">&#9670;&nbsp;</a></span>AddInt()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::AddInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method adds one <em>unsigned</em> word (at a specific position) and returns a carry (if it was)</p>
<p>look at a description in UInt&lt;&gt;::AddInt(...) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00237">237</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    {</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#af4234f162487dbde47c9319f49b2d7af">UInt&lt;value_size&gt;::AddInt</a>(value, index);     </div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterAdding(p1_is_sign, <span class="keyword">false</span>);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_af4234f162487dbde47c9319f49b2d7af"><div class="ttname"><a href="classttmath_1_1_u_int.html#af4234f162487dbde47c9319f49b2d7af">ttmath::UInt::AddInt</a></div><div class="ttdeci">uint AddInt(uint value, uint index=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00231">ttmathuint_x86_64.h:231</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l02240">ttmath::Big&lt; exp, man &gt;::FromBig()</a>.</p>

</div>
</div>
<a id="abdf555b866fd8a2e9bcadde81e253053"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdf555b866fd8a2e9bcadde81e253053">&#9670;&nbsp;</a></span>AddOne()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::AddOne </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method adds one to the value and returns carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00327">327</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    {</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aaa62dbe97d8e2ceb434c5c3cac9cd0e1">UInt&lt;value_size&gt;::AddOne</a>();     </div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterAdding(p1_is_sign, <span class="keyword">false</span>);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aaa62dbe97d8e2ceb434c5c3cac9cd0e1"><div class="ttname"><a href="classttmath_1_1_u_int.html#aaa62dbe97d8e2ceb434c5c3cac9cd0e1">ttmath::UInt::AddOne</a></div><div class="ttdeci">uint AddOne()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00386">ttmathuint.h:386</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l01767">ttmath::Int&lt; exp &gt;::operator++()</a>.</p>

</div>
</div>
<a id="ae6048eadce899968d5ccdaa1c2b3cf1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6048eadce899968d5ccdaa1c2b3cf1f">&#9670;&nbsp;</a></span>AddTwoInts()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::AddTwoInts </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method adds two <em>unsigned</em> words to the existing value and these words begin on the 'index' position</p>
<p>index should be equal or smaller than value_size-2 (index &lt;= value_size-2) x1 - lower word, x2 - higher word</p>
<p>look at a description in UInt&lt;&gt;::AddTwoInts(...) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00256">256</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    {</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aba79aa3cdad513d1c41f4caa3758faab">UInt&lt;value_size&gt;::AddTwoInts</a>(x2, x1, index);        </div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterAdding(p1_is_sign, <span class="keyword">false</span>);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_aba79aa3cdad513d1c41f4caa3758faab"><div class="ttname"><a href="classttmath_1_1_u_int.html#aba79aa3cdad513d1c41f4caa3758faab">ttmath::UInt::AddTwoInts</a></div><div class="ttdeci">uint AddTwoInts(uint x2, uint x1, uint index)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00316">ttmathuint_x86_64.h:316</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3338d863babca5228366a19f843efb56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3338d863babca5228366a19f843efb56">&#9670;&nbsp;</a></span>AddVector()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::AddVector </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>ss1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss1_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss2_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this static method addes one vector to the other 'ss1' is larger in size or equal to 'ss2'</p>
<ul>
<li>ss1 points to the first (larger) vector</li>
<li>ss2 points to the second vector</li>
<li>ss1_size - size of the ss1 (and size of the result too)</li>
<li>ss2_size - size of the ss2</li>
<li><p class="startli">result - is the result vector (which has size the same as ss1: ss1_size)</p>
<p class="startli">Example: ss1_size is 5, ss2_size is 3 ss1: ss2: result (output): 5 1 5+1 4 3 4+3 2 7 2+7 6 6 9 9 of course the carry is propagated and will be returned from the last item (this method is used by the Karatsuba multiplication algorithm) </p>
</li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00387">387</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    {</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        TTMATH_ASSERT( ss1_size &gt;= ss2_size )</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;             c = ttmath_addvector_x64(ss1, ss2, ss1_size, ss2_size, result);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> dummy1, dummy2, dummy3;    </div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest = ss1_size - ss2_size;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;            </div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;            <span class="comment">//  this part should be compiled with gcc</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        </div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            __asm__ __volatile__(</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                <span class="stringliteral">&quot;mov %%rdx, %%r8                    \n&quot;</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                <span class="stringliteral">&quot;xor %%rdx, %%rdx                   \n&quot;</span>   <span class="comment">// rdx = 0, cf = 0</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;            <span class="stringliteral">&quot;1:                                     \n&quot;</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                <span class="stringliteral">&quot;mov (%%rsi,%%rdx,8), %%rax         \n&quot;</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                <span class="stringliteral">&quot;adc (%%rbx,%%rdx,8), %%rax         \n&quot;</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;                <span class="stringliteral">&quot;mov %%rax, (%%rdi,%%rdx,8)         \n&quot;</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;                <span class="stringliteral">&quot;inc %%rdx                          \n&quot;</span></div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                <span class="stringliteral">&quot;dec %%rcx                          \n&quot;</span></div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;            <span class="stringliteral">&quot;jnz 1b                                 \n&quot;</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                <span class="stringliteral">&quot;adc %%rcx, %%rcx                   \n&quot;</span>   <span class="comment">// rcx has the cf state</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                <span class="stringliteral">&quot;or %%r8, %%r8                      \n&quot;</span></div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;                <span class="stringliteral">&quot;jz 3f                              \n&quot;</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                </div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;                <span class="stringliteral">&quot;xor %%rbx, %%rbx                   \n&quot;</span>   <span class="comment">// ebx = 0</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;                <span class="stringliteral">&quot;neg %%rcx                          \n&quot;</span>   <span class="comment">// setting cf from rcx</span></div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                <span class="stringliteral">&quot;mov %%r8, %%rcx                    \n&quot;</span>   <span class="comment">// rcx=rest and is != 0</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;            <span class="stringliteral">&quot;2:                                     \n&quot;</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                <span class="stringliteral">&quot;mov (%%rsi, %%rdx, 8), %%rax       \n&quot;</span></div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;                <span class="stringliteral">&quot;adc %%rbx, %%rax                   \n&quot;</span></div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                <span class="stringliteral">&quot;mov %%rax, (%%rdi, %%rdx, 8)       \n&quot;</span></div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                <span class="stringliteral">&quot;inc %%rdx                          \n&quot;</span></div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                <span class="stringliteral">&quot;dec %%rcx                          \n&quot;</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;            <span class="stringliteral">&quot;jnz 2b                                 \n&quot;</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;                <span class="stringliteral">&quot;adc %%rcx, %%rcx                   \n&quot;</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            <span class="stringliteral">&quot;3:                                     \n&quot;</span></div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                : <span class="stringliteral">&quot;=a&quot;</span> (dummy1), <span class="stringliteral">&quot;=b&quot;</span> (dummy2), <span class="stringliteral">&quot;=c&quot;</span> (c),       <span class="stringliteral">&quot;=d&quot;</span> (dummy3)</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                :                <span class="stringliteral">&quot;1&quot;</span> (ss2),     <span class="stringliteral">&quot;2&quot;</span> (ss2_size), <span class="stringliteral">&quot;3&quot;</span> (rest),   <span class="stringliteral">&quot;S&quot;</span> (ss1),  <span class="stringliteral">&quot;D&quot;</span> (result)</div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                : <span class="stringliteral">&quot;%r8&quot;</span>, <span class="stringliteral">&quot;cc&quot;</span>, <span class="stringliteral">&quot;memory&quot;</span> );</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        TTMATH_VECTOR_LOGC(<span class="stringliteral">&quot;UInt::AddVector&quot;</span>, c, result, ss1_size)</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abd1c336e927429ad0aa43d26cfd57eaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd1c336e927429ad0aa43d26cfd57eaf">&#9670;&nbsp;</a></span>AreFirstBitsZero()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::AreFirstBitsZero </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bits</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returning true if first 'bits' bits are equal zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02618">2618</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160;    {</div><div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160;        TTMATH_ASSERT( bits &lt;= value_size * <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160;</div><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index = bits / <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest  = bits % <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i;</div><div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160;</div><div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160;        <span class="keywordflow">for</span>(i=0 ; i&lt;index ; ++i)</div><div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;            <span class="keywordflow">if</span>(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != 0 )</div><div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160;</div><div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;        <span class="keywordflow">if</span>( rest == 0 )</div><div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160;</div><div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> mask = <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a> &gt;&gt; (<a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> - rest);</div><div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160;</div><div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] &amp; mask) == 0;</div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3f305dc39575008dc2ad1f094cdccacc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f305dc39575008dc2ad1f094cdccacc">&#9670;&nbsp;</a></span>BitAnd()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::BitAnd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method performs a bitwise operation AND </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00743">743</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    {</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x=0 ; x&lt;value_size ; ++x)</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x] &amp;= ss2.table[x];</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::BitAnd&quot;</span>)</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01002">ttmath::Big&lt; exp, man &gt;::BitAnd()</a>.</p>

</div>
</div>
<a id="a323201eabc966dc24349d965fae7f9cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a323201eabc966dc24349d965fae7f9cd">&#9670;&nbsp;</a></span>BitNot()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::BitNot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method performs a bitwise operation NOT </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00779">779</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    {</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x=0 ; x&lt;value_size ; ++x)</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x] = ~<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x];</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::BitNot&quot;</span>)</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l03895">ttmath::UInt&lt; man &gt;::operator~()</a>.</p>

</div>
</div>
<a id="a9710bb273fcf635ed8bb055aa17a7467"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9710bb273fcf635ed8bb055aa17a7467">&#9670;&nbsp;</a></span>BitNot2()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::BitNot2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method performs a bitwise operation NOT but only on the range of &lt;0, leading_bit&gt;</p>
<p>for example: BitNot2(8) = BitNot2( 1000(bin) ) = 111(bin) = 7 </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00795">795</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    {</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> table_id, index;</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#ad1639273f7e78c737e532d0375b4b1e9">FindLeadingBit</a>(table_id, index) )</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        {</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;            <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x=0 ; x&lt;table_id ; ++x)</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x] = ~<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x];</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;            <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> mask  = <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a>;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> shift = <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> - index - 1;</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;            <span class="keywordflow">if</span>(shift)</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                mask &gt;&gt;= shift;</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id] ^= mask;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;        }</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0] = 1;</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::BitNot2&quot;</span>)</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ad1639273f7e78c737e532d0375b4b1e9"><div class="ttname"><a href="classttmath_1_1_u_int.html#ad1639273f7e78c737e532d0375b4b1e9">ttmath::UInt::FindLeadingBit</a></div><div class="ttdeci">bool FindLeadingBit(uint &amp;table_id, uint &amp;index) const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00649">ttmathuint.h:649</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab254e021f626e59b5e32e0b8e02ce9be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab254e021f626e59b5e32e0b8e02ce9be">&#9670;&nbsp;</a></span>BitOr()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::BitOr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method performs a bitwise operation OR </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00755">755</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    {</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x=0 ; x&lt;value_size ; ++x)</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x] |= ss2.table[x];</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::BitOr&quot;</span>)</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01063">ttmath::Big&lt; exp, man &gt;::BitOr()</a>.</p>

</div>
</div>
<a id="a82d9a7e2147c21a09bd7480d5d046336"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82d9a7e2147c21a09bd7480d5d046336">&#9670;&nbsp;</a></span>BitXor()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::BitXor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method performs a bitwise operation XOR </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00767">767</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    {</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x=0 ; x&lt;value_size ; ++x)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x] ^= ss2.table[x];</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::BitXor&quot;</span>)</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01123">ttmath::Big&lt; exp, man &gt;::BitXor()</a>.</p>

</div>
</div>
<a id="a1459d8f91899c87e26a59ccbf9ed3f00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1459d8f91899c87e26a59ccbf9ed3f00">&#9670;&nbsp;</a></span>ChangeSign()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ChangeSign </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>we change the sign of the value</p>
<p>if it isn't possible to change the sign this method returns 1 else return 0 and changing the sign </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00105">105</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    {</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">            if the value is equal that one which has been returned from SetMin</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">            (only the highest bit is set) that means we can&#39;t change sign</span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">            because the value is too big (bigger about one)</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">            e.g. when value_size = 1 and value is -2147483648 we can&#39;t change it to the</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">            2147483648 because the max value which can be held is 2147483647</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">            we don&#39;t change the value and we&#39;re using this fact somewhere in some methods</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">            (if we look on our value without the sign we get the correct value </span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">            eg. -2147483648 in Int&lt;1&gt; will be 2147483648 on the UInt&lt;1&gt; type)</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#ad20b71dfc5f2eed0c6ae4c09d29ac960">UInt&lt;value_size&gt;::IsOnlyTheHighestBitSet</a>() )</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        UInt&lt;value_size&gt; temp(*<span class="keyword">this</span>);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">UInt&lt;value_size&gt;::SetZero</a>();</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a62de1450c61299cdbbda5632b85386c8">UInt&lt;value_size&gt;::Sub</a>(temp);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a62de1450c61299cdbbda5632b85386c8"><div class="ttname"><a href="classttmath_1_1_u_int.html#a62de1450c61299cdbbda5632b85386c8">ttmath::UInt::Sub</a></div><div class="ttdeci">uint Sub(const UInt&lt; value_size &gt; &amp;ss2, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00460">ttmathuint_x86_64.h:460</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ad20b71dfc5f2eed0c6ae4c09d29ac960"><div class="ttname"><a href="classttmath_1_1_u_int.html#ad20b71dfc5f2eed0c6ae4c09d29ac960">ttmath::UInt::IsOnlyTheHighestBitSet</a></div><div class="ttdeci">bool IsOnlyTheHighestBitSet() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02565">ttmathuint.h:2565</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00168">ttmath::Int&lt; exp &gt;::Abs()</a>, <a class="el" href="ttmathbig_8h_source.html#l03561">ttmath::Big&lt; exp, man &gt;::FromInt()</a>, <a class="el" href="ttmathint_8h_source.html#l01660">ttmath::Int&lt; exp &gt;::operator-()</a>, <a class="el" href="ttmathint_8h_source.html#l00608">ttmath::Int&lt; exp &gt;::Pow()</a>, <a class="el" href="ttmathbig_8h_source.html#l01636">ttmath::Big&lt; exp, man &gt;::Pow()</a>, <a class="el" href="ttmathint_8h_source.html#l00141">ttmath::Int&lt; exp &gt;::SetSign()</a>, and <a class="el" href="ttmathbig_8h_source.html#l02516">ttmath::Big&lt; exp, man &gt;::ToInt()</a>.</p>

</div>
</div>
<a id="a60e97560d5f03d2321130a33fd24c74c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60e97560d5f03d2321130a33fd24c74c">&#9670;&nbsp;</a></span>ClearFirstBits()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::ClearFirstBits </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method sets n first bits to value zero</p>
<p>For example: let n=2 then if there's a value 111 (bin) there'll be '100' (bin) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02508">2508</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;    {</div><div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160;        <span class="keywordflow">if</span>( n &gt;= value_size*<a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;        {</div><div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a>();</div><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::ClearFirstBits&quot;</span>)</div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;            return;</div><div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;        }</div><div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;</div><div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> * p = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>;</div><div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;</div><div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160;        <span class="comment">// first we&#39;re clearing the whole words</span></div><div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;        while( n &gt;= <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160;        {</div><div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160;            *p++ = 0;</div><div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160;            n   -= <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;        }</div><div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;</div><div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;        <span class="keywordflow">if</span>( n == 0 )</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;        {</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::ClearFirstBits&quot;</span>)</div><div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;            return;</div><div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;        }</div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;        <span class="comment">// and then we&#39;re clearing one word which has left</span></div><div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;        <span class="comment">// mask -- all bits are set to one</span></div><div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> mask = <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a>;</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;        mask = mask &lt;&lt; n;</div><div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;</div><div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;        (*p) &amp;= mask;</div><div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;</div><div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;        TTMATH_LOG(&quot;<a class="code" href="classttmath_1_1_u_int.html#a4078e574332231102133119a3c9fc725">UInt</a>::<a class="code" href="classttmath_1_1_u_int.html#a60e97560d5f03d2321130a33fd24c74c">ClearFirstBits</a>&quot;)</div><div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a60e97560d5f03d2321130a33fd24c74c"><div class="ttname"><a href="classttmath_1_1_u_int.html#a60e97560d5f03d2321130a33fd24c74c">ttmath::UInt::ClearFirstBits</a></div><div class="ttdeci">void ClearFirstBits(uint n)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02508">ttmathuint.h:2508</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a4078e574332231102133119a3c9fc725"><div class="ttname"><a href="classttmath_1_1_u_int.html#a4078e574332231102133119a3c9fc725">ttmath::UInt::UInt</a></div><div class="ttdeci">UInt()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03045">ttmathuint.h:3045</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l05808">ttmath::Big&lt; exp, man &gt;::SkipFraction()</a>.</p>

</div>
</div>
<a id="a5243626e5c3cddaf16d6a9ca9e4deabe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5243626e5c3cddaf16d6a9ca9e4deabe">&#9670;&nbsp;</a></span>CmpBigger()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CmpBigger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if 'this' is bigger than 'l'</p>
<p>'index' is an index of the first word from will be the comparison performed (note: we start the comparison from back - from the last word, when index is -1 /default/ it is automatically set into the last word)</p>
<p>I introduced it for some kind of optimization made in the second division algorithm (Div2) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03606">3606</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03607"></a><span class="lineno"> 3607</span>&#160;    {</div><div class="line"><a name="l03608"></a><span class="lineno"> 3608</span>&#160;    <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l03609"></a><span class="lineno"> 3609</span>&#160;</div><div class="line"><a name="l03610"></a><span class="lineno"> 3610</span>&#160;        <span class="keywordflow">if</span>( index==-1 || index&gt;=<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(value_size) )</div><div class="line"><a name="l03611"></a><span class="lineno"> 3611</span>&#160;            i = value_size - 1;</div><div class="line"><a name="l03612"></a><span class="lineno"> 3612</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03613"></a><span class="lineno"> 3613</span>&#160;            i = index;</div><div class="line"><a name="l03614"></a><span class="lineno"> 3614</span>&#160;</div><div class="line"><a name="l03615"></a><span class="lineno"> 3615</span>&#160;</div><div class="line"><a name="l03616"></a><span class="lineno"> 3616</span>&#160;        <span class="keywordflow">for</span>( ; i&gt;=0 ; --i)</div><div class="line"><a name="l03617"></a><span class="lineno"> 3617</span>&#160;        {</div><div class="line"><a name="l03618"></a><span class="lineno"> 3618</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != l.table[i] )</div><div class="line"><a name="l03619"></a><span class="lineno"> 3619</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] &gt; l.table[i];</div><div class="line"><a name="l03620"></a><span class="lineno"> 3620</span>&#160;        }</div><div class="line"><a name="l03621"></a><span class="lineno"> 3621</span>&#160;</div><div class="line"><a name="l03622"></a><span class="lineno"> 3622</span>&#160;    <span class="comment">// they&#39;re equal</span></div><div class="line"><a name="l03623"></a><span class="lineno"> 3623</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l03624"></a><span class="lineno"> 3624</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a834bea52c5400450f6213aadce4cadd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a834bea52c5400450f6213aadce4cadd3">&#9670;&nbsp;</a></span>CmpBiggerEqual()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CmpBiggerEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if 'this' is bigger than or equal 'l'</p>
<p>'index' is an index of the first word from will be the comparison performed (note: we start the comparison from back - from the last word, when index is -1 /default/ it is automatically set into the last word) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03689">3689</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03690"></a><span class="lineno"> 3690</span>&#160;    {</div><div class="line"><a name="l03691"></a><span class="lineno"> 3691</span>&#160;    <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l03692"></a><span class="lineno"> 3692</span>&#160;</div><div class="line"><a name="l03693"></a><span class="lineno"> 3693</span>&#160;        <span class="keywordflow">if</span>( index==-1 || index&gt;=<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(value_size) )</div><div class="line"><a name="l03694"></a><span class="lineno"> 3694</span>&#160;            i = value_size - 1;</div><div class="line"><a name="l03695"></a><span class="lineno"> 3695</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160;            i = index;</div><div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160;</div><div class="line"><a name="l03698"></a><span class="lineno"> 3698</span>&#160;</div><div class="line"><a name="l03699"></a><span class="lineno"> 3699</span>&#160;        <span class="keywordflow">for</span>( ; i&gt;=0 ; --i)</div><div class="line"><a name="l03700"></a><span class="lineno"> 3700</span>&#160;        {</div><div class="line"><a name="l03701"></a><span class="lineno"> 3701</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != l.table[i] )</div><div class="line"><a name="l03702"></a><span class="lineno"> 3702</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] &gt; l.table[i];</div><div class="line"><a name="l03703"></a><span class="lineno"> 3703</span>&#160;        }</div><div class="line"><a name="l03704"></a><span class="lineno"> 3704</span>&#160;</div><div class="line"><a name="l03705"></a><span class="lineno"> 3705</span>&#160;    <span class="comment">// they&#39;re equal</span></div><div class="line"><a name="l03706"></a><span class="lineno"> 3706</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l03707"></a><span class="lineno"> 3707</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5c0321f55dfb72128ead8120bd854dc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c0321f55dfb72128ead8120bd854dc4">&#9670;&nbsp;</a></span>CmpEqual()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CmpEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if 'this' is equal 'l'</p>
<p>'index' is an index of the first word from will be the comparison performed (note: we start the comparison from back - from the last word, when index is -1 /default/ it is automatically set into the last word) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03634">3634</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03635"></a><span class="lineno"> 3635</span>&#160;    {</div><div class="line"><a name="l03636"></a><span class="lineno"> 3636</span>&#160;    <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l03637"></a><span class="lineno"> 3637</span>&#160;</div><div class="line"><a name="l03638"></a><span class="lineno"> 3638</span>&#160;        <span class="keywordflow">if</span>( index==-1 || index&gt;=<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(value_size) )</div><div class="line"><a name="l03639"></a><span class="lineno"> 3639</span>&#160;            i = value_size - 1;</div><div class="line"><a name="l03640"></a><span class="lineno"> 3640</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03641"></a><span class="lineno"> 3641</span>&#160;            i = index;</div><div class="line"><a name="l03642"></a><span class="lineno"> 3642</span>&#160;</div><div class="line"><a name="l03643"></a><span class="lineno"> 3643</span>&#160;</div><div class="line"><a name="l03644"></a><span class="lineno"> 3644</span>&#160;        <span class="keywordflow">for</span>( ; i&gt;=0 ; --i)</div><div class="line"><a name="l03645"></a><span class="lineno"> 3645</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != l.table[i] )</div><div class="line"><a name="l03646"></a><span class="lineno"> 3646</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l03647"></a><span class="lineno"> 3647</span>&#160;</div><div class="line"><a name="l03648"></a><span class="lineno"> 3648</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l03649"></a><span class="lineno"> 3649</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abf90bb1f18373b442393de4135dab57e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf90bb1f18373b442393de4135dab57e">&#9670;&nbsp;</a></span>CmpSmaller()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CmpSmaller </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>methods for comparing</p>
<p>this method returns true if 'this' is smaller than 'l'</p>
<p>'index' is an index of the first word from will be the comparison performed (note: we start the comparison from back - from the last word, when index is -1 /default/ it is automatically set into the last word) I introduced it for some kind of optimization made in the second division algorithm (Div2) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03575">3575</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03576"></a><span class="lineno"> 3576</span>&#160;    {</div><div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160;    <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160;</div><div class="line"><a name="l03579"></a><span class="lineno"> 3579</span>&#160;        <span class="keywordflow">if</span>( index==-1 || index&gt;=<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(value_size) )</div><div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160;            i = value_size - 1;</div><div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160;            i = index;</div><div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160;</div><div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160;</div><div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160;        <span class="keywordflow">for</span>( ; i&gt;=0 ; --i)</div><div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160;        {</div><div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != l.table[i] )</div><div class="line"><a name="l03588"></a><span class="lineno"> 3588</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] &lt; l.table[i];</div><div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160;        }</div><div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160;</div><div class="line"><a name="l03591"></a><span class="lineno"> 3591</span>&#160;    <span class="comment">// they&#39;re equal</span></div><div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l03593"></a><span class="lineno"> 3593</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adb25ff6d1b7e1dca07c22678b047e237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb25ff6d1b7e1dca07c22678b047e237">&#9670;&nbsp;</a></span>CmpSmallerEqual()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CmpSmallerEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if 'this' is smaller than or equal 'l'</p>
<p>'index' is an index of the first word from will be the comparison performed (note: we start the comparison from back - from the last word, when index is -1 /default/ it is automatically set into the last word) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03660">3660</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03661"></a><span class="lineno"> 3661</span>&#160;    {</div><div class="line"><a name="l03662"></a><span class="lineno"> 3662</span>&#160;    <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l03663"></a><span class="lineno"> 3663</span>&#160;</div><div class="line"><a name="l03664"></a><span class="lineno"> 3664</span>&#160;        <span class="keywordflow">if</span>( index==-1 || index&gt;=<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(value_size) )</div><div class="line"><a name="l03665"></a><span class="lineno"> 3665</span>&#160;            i = value_size - 1;</div><div class="line"><a name="l03666"></a><span class="lineno"> 3666</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03667"></a><span class="lineno"> 3667</span>&#160;            i = index;</div><div class="line"><a name="l03668"></a><span class="lineno"> 3668</span>&#160;</div><div class="line"><a name="l03669"></a><span class="lineno"> 3669</span>&#160;</div><div class="line"><a name="l03670"></a><span class="lineno"> 3670</span>&#160;        <span class="keywordflow">for</span>( ; i&gt;=0 ; --i)</div><div class="line"><a name="l03671"></a><span class="lineno"> 3671</span>&#160;        {</div><div class="line"><a name="l03672"></a><span class="lineno"> 3672</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != l.table[i] )</div><div class="line"><a name="l03673"></a><span class="lineno"> 3673</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] &lt; l.table[i];</div><div class="line"><a name="l03674"></a><span class="lineno"> 3674</span>&#160;        }</div><div class="line"><a name="l03675"></a><span class="lineno"> 3675</span>&#160;</div><div class="line"><a name="l03676"></a><span class="lineno"> 3676</span>&#160;    <span class="comment">// they&#39;re equal</span></div><div class="line"><a name="l03677"></a><span class="lineno"> 3677</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l03678"></a><span class="lineno"> 3678</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adef5243a8390314fb21339145e3a154c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adef5243a8390314fb21339145e3a154c">&#9670;&nbsp;</a></span>CompensationToLeft()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::CompensationToLeft </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method moves all bits into the left side (it returns value how many bits have been moved) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00598">598</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    {</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> moving = 0;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;        <span class="comment">// a - index a last word which is different from zero</span></div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> a;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        <span class="keywordflow">for</span>(a=value_size-1 ; a&gt;=0 &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[a]==0 ; --a);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <span class="keywordflow">if</span>( a &lt; 0 )</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <span class="keywordflow">return</span> moving; <span class="comment">// all words in table have zero</span></div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        <span class="keywordflow">if</span>( a != value_size-1 )</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        {</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;            moving += ( value_size-1 - a ) * <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            <span class="comment">// moving all words</span></div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;            <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            <span class="keywordflow">for</span>(i=value_size-1 ; a&gt;=0 ; --i, --a)</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[a];</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;            <span class="comment">// setting the rest word to zero</span></div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            <span class="keywordflow">for</span>(; i&gt;=0 ; --i)</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = 0;</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        }</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> moving2 = FindLeadingBitInWord( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[value_size-1] );</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <span class="comment">// moving2 is different from -1 because the value table[value_size-1]</span></div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        <span class="comment">// is not zero</span></div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        moving2 = <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> - moving2 - 1;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#abbcc02c03802229412f902de309bad7d">Rcl</a>(moving2);</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::CompensationToLeft&quot;</span>)</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    return moving + moving2;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_abbcc02c03802229412f902de309bad7d"><div class="ttname"><a href="classttmath_1_1_u_int.html#abbcc02c03802229412f902de309bad7d">ttmath::UInt::Rcl</a></div><div class="ttdeci">uint Rcl(uint bits, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00460">ttmathuint.h:460</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l03561">ttmath::Big&lt; exp, man &gt;::FromInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l03538">ttmath::Big&lt; exp, man &gt;::FromUInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l01179">ttmath::Big&lt; exp, man &gt;::MulUInt()</a>, and <a class="el" href="ttmathbig_8h_source.html#l00173">ttmath::Big&lt; exp, man &gt;::Standardizing()</a>.</p>

</div>
</div>
<a id="a2bc659d2f8aa94cf17ee5650d06119f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bc659d2f8aa94cf17ee5650d06119f2">&#9670;&nbsp;</a></span>Div() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Div </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>division this = this / ss2 returned values:</p><ul>
<li>0 - ok</li>
<li>1 - division by zero</li>
</ul>
<p>for example: (result means 'this')</p><ul>
<li>20 / 3 --&gt; result: 6 remainder: 2</li>
<li>-20 / 3 --&gt; result: -6 remainder: -2</li>
<li>20 / -3 --&gt; result: -6 remainder: 2</li>
<li>-20 / -3 --&gt; result: 6 remainder: -2</li>
</ul>
<p>in other words: this(old) = ss2 * this(new)(result) + remainder </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00480">480</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    {</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keywordtype">bool</span> ss1_is_sign, ss2_is_sign;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        ss1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        ss2_is_sign = ss2.IsSign();</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="comment">            we don&#39;t have to test the carry from Abs as well as in Mul</span></div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        <a class="code" href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">Abs</a>();</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        ss2.Abs();</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = <a class="code" href="classttmath_1_1_u_int.html#a66ed2921ae082f9694afb330ec67d05d">UInt&lt;value_size&gt;::Div</a>(ss2, remainder);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordflow">if</span>( ss1_is_sign != ss2_is_sign )</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;            <a class="code" href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">SetSign</a>();</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        <span class="keywordflow">if</span>( ss1_is_sign &amp;&amp; remainder )</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;            remainder-&gt;SetSign();</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9b660237a184333e26bdcb933923658a"><div class="ttname"><a href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">ttmath::Int::SetSign</a></div><div class="ttdeci">void SetSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00141">ttmathint.h:141</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_aeb74289f960343a11bf25a9b510fd99d"><div class="ttname"><a href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">ttmath::Int::Abs</a></div><div class="ttdeci">uint Abs()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00168">ttmathint.h:168</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a66ed2921ae082f9694afb330ec67d05d"><div class="ttname"><a href="classttmath_1_1_u_int.html#a66ed2921ae082f9694afb330ec67d05d">ttmath::UInt::Div</a></div><div class="ttdeci">uint Div(const UInt&lt; value_size &gt; &amp;divisor, UInt&lt; value_size &gt; *remainder=0, uint algorithm=3)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01626">ttmathuint.h:1626</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00608">ttmath::Int&lt; exp &gt;::Pow()</a>.</p>

</div>
</div>
<a id="a66ed2921ae082f9694afb330ec67d05d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66ed2921ae082f9694afb330ec67d05d">&#9670;&nbsp;</a></span>Div() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>algorithm</em> = <code>3</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>division this = this / ss2</p>
<p>return values:</p><ul>
<li>0 - ok</li>
<li>1 - division by zero</li>
<li>'this' will be the quotient</li>
<li>'remainder' - remainder </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01626">1626</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;    {</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;        <span class="keywordflow">switch</span>( algorithm )</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;        {</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;        <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#ae71bf44fb6746f7633b2c485bc6ae082">Div1</a>(divisor, remainder);</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;        <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#acad855eb4debd1fba0a49336849df210">Div2</a>(divisor, remainder);</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;        <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#acff57af28e5b4d65f0bf5fd0de5b455b">Div3</a>(divisor, remainder);</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;        }</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ae71bf44fb6746f7633b2c485bc6ae082"><div class="ttname"><a href="classttmath_1_1_u_int.html#ae71bf44fb6746f7633b2c485bc6ae082">ttmath::UInt::Div1</a></div><div class="ttdeci">uint Div1(const UInt&lt; value_size &gt; &amp;divisor, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01752">ttmathuint.h:1752</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_acff57af28e5b4d65f0bf5fd0de5b455b"><div class="ttname"><a href="classttmath_1_1_u_int.html#acff57af28e5b4d65f0bf5fd0de5b455b">ttmath::UInt::Div3</a></div><div class="ttdeci">uint Div3(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02108">ttmathuint.h:2108</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_acad855eb4debd1fba0a49336849df210"><div class="ttname"><a href="classttmath_1_1_u_int.html#acad855eb4debd1fba0a49336849df210">ttmath::UInt::Div2</a></div><div class="ttdeci">uint Div2(const UInt&lt; value_size &gt; &amp;divisor, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01862">ttmathuint.h:1862</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00480">ttmath::Int&lt; exp &gt;::Div()</a>.</p>

</div>
</div>
<a id="ae71bf44fb6746f7633b2c485bc6ae082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae71bf44fb6746f7633b2c485bc6ae082">&#9670;&nbsp;</a></span>Div1() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div1 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the first division algorithm (radix 2) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01752">1752</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;    {</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> m,n, test;</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;        test = Div_StandardTest(divisor, m, n, remainder);</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;        <span class="keywordflow">if</span>( test &lt; 2 )</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;            <span class="keywordflow">return</span> test;</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;        <span class="keywordflow">if</span>( !remainder )</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;        {</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;            UInt&lt;value_size&gt; rem;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;    </div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;        <span class="keywordflow">return</span> Div1_Calculate(divisor, rem);</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;        }</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;    <span class="keywordflow">return</span> Div1_Calculate(divisor, *remainder);</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l01626">ttmath::UInt&lt; man &gt;::Div()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01775">ttmath::UInt&lt; man &gt;::Div1()</a>.</p>

</div>
</div>
<a id="a523890a408a7102429ce720df3dc50dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a523890a408a7102429ce720df3dc50dc">&#9670;&nbsp;</a></span>Div1() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div1 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the first division algorithm (radix 2) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01775">1775</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;    {</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#ae71bf44fb6746f7633b2c485bc6ae082">Div1</a>(divisor, &amp;remainder);</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ae71bf44fb6746f7633b2c485bc6ae082"><div class="ttname"><a href="classttmath_1_1_u_int.html#ae71bf44fb6746f7633b2c485bc6ae082">ttmath::UInt::Div1</a></div><div class="ttdeci">uint Div1(const UInt&lt; value_size &gt; &amp;divisor, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01752">ttmathuint.h:1752</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acad855eb4debd1fba0a49336849df210"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acad855eb4debd1fba0a49336849df210">&#9670;&nbsp;</a></span>Div2() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the second division algorithm</p>
<p>return values:</p><ul>
<li>0 - ok</li>
<li>1 - division by zero </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01862">1862</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;    {</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;        <span class="keywordflow">if</span>( <span class="keyword">this</span> == &amp;divisor )</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;        {</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;            UInt&lt;value_size&gt; divisor_copy(divisor);</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;            <span class="keywordflow">return</span> Div2Ref(divisor_copy, remainder);</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;        }</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;        {</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;            <span class="keywordflow">return</span> Div2Ref(divisor, remainder);</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;        }</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l01626">ttmath::UInt&lt; man &gt;::Div()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01883">ttmath::UInt&lt; man &gt;::Div2()</a>.</p>

</div>
</div>
<a id="a60c05b01f4bad1bef8561e2d54ea0702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60c05b01f4bad1bef8561e2d54ea0702">&#9670;&nbsp;</a></span>Div2() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the second division algorithm</p>
<p>return values:</p><ul>
<li>0 - ok</li>
<li>1 - division by zero </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01883">1883</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;    {</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#acad855eb4debd1fba0a49336849df210">Div2</a>(divisor, &amp;remainder);</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_acad855eb4debd1fba0a49336849df210"><div class="ttname"><a href="classttmath_1_1_u_int.html#acad855eb4debd1fba0a49336849df210">ttmath::UInt::Div2</a></div><div class="ttdeci">uint Div2(const UInt&lt; value_size &gt; &amp;divisor, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01862">ttmathuint.h:1862</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acff57af28e5b4d65f0bf5fd0de5b455b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acff57af28e5b4d65f0bf5fd0de5b455b">&#9670;&nbsp;</a></span>Div3() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div3 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the third division algorithm </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02108">2108</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;    {</div><div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;        <span class="keywordflow">if</span>( <span class="keyword">this</span> == &amp;ss2 )</div><div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;        {</div><div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;            UInt&lt;value_size&gt; copy_ss2(ss2);</div><div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;            <span class="keywordflow">return</span> Div3Ref(copy_ss2, remainder);</div><div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;        }</div><div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;        {</div><div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;            <span class="keywordflow">return</span> Div3Ref(ss2, remainder);</div><div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;        }</div><div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l01626">ttmath::UInt&lt; man &gt;::Div()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02125">ttmath::UInt&lt; man &gt;::Div3()</a>.</p>

</div>
</div>
<a id="a43f983c5363cce698955c5ab3c11741e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43f983c5363cce698955c5ab3c11741e">&#9670;&nbsp;</a></span>Div3() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Div3 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>remainder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the third division algorithm </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02125">2125</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;    {</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#acff57af28e5b4d65f0bf5fd0de5b455b">Div3</a>(ss2, &amp;remainder);</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_acff57af28e5b4d65f0bf5fd0de5b455b"><div class="ttname"><a href="classttmath_1_1_u_int.html#acff57af28e5b4d65f0bf5fd0de5b455b">ttmath::UInt::Div3</a></div><div class="ttdeci">uint Div3(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02108">ttmathuint.h:2108</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a6d81ced6d4f5183287a316a9d45d3198"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d81ced6d4f5183287a316a9d45d3198">&#9670;&nbsp;</a></span>DivInt() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::DivInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>division this = this / ss2 (ss2 is int) returned values:</p><ul>
<li>0 - ok</li>
<li>1 - division by zero</li>
</ul>
<p>for example: (result means 'this')</p><ul>
<li>20 / 3 --&gt; result: 6 remainder: 2</li>
<li>-20 / 3 --&gt; result: -6 remainder: -2</li>
<li>20 / -3 --&gt; result: -6 remainder: 2</li>
<li>-20 / -3 --&gt; result: 6 remainder: -2</li>
</ul>
<p>in other words: this(old) = ss2 * this(new)(result) + remainder </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00524">524</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    {</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <span class="keywordtype">bool</span> ss1_is_sign, ss2_is_sign;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        ss1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="comment">            we don&#39;t have to test the carry from Abs as well as in Mul</span></div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        <a class="code" href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">Abs</a>();</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keywordflow">if</span>( ss2 &lt; 0 )</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        {</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;            ss2 = -ss2;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;            ss2_is_sign = <span class="keyword">true</span>;</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        }</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        {</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;            ss2_is_sign = <span class="keyword">false</span>;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        }</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rem;</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = <a class="code" href="classttmath_1_1_u_int.html#aadcfa312adce5e4c9f59eb7bb67ee925">UInt&lt;value_size&gt;::DivInt</a>((<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>)ss2, &amp;rem);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        <span class="keywordflow">if</span>( ss1_is_sign != ss2_is_sign )</div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;            <a class="code" href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">SetSign</a>();</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        <span class="keywordflow">if</span>( remainder )</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        {</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;            <span class="keywordflow">if</span>( ss1_is_sign )</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;                *remainder = -<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(rem);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;                *remainder = <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(rem);</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        }</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9b660237a184333e26bdcb933923658a"><div class="ttname"><a href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">ttmath::Int::SetSign</a></div><div class="ttdeci">void SetSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00141">ttmathint.h:141</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_aeb74289f960343a11bf25a9b510fd99d"><div class="ttname"><a href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">ttmath::Int::Abs</a></div><div class="ttdeci">uint Abs()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00168">ttmathint.h:168</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aadcfa312adce5e4c9f59eb7bb67ee925"><div class="ttname"><a href="classttmath_1_1_u_int.html#aadcfa312adce5e4c9f59eb7bb67ee925">ttmath::UInt::DivInt</a></div><div class="ttdeci">uint DivInt(uint divisor, uint *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01568">ttmathuint.h:1568</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aadcfa312adce5e4c9f59eb7bb67ee925"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadcfa312adce5e4c9f59eb7bb67ee925">&#9670;&nbsp;</a></span>DivInt() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::DivInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>divisor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>remainder</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Division</p>
<p>division by one unsigned word</p>
<p>returns 1 when divisor is zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01568">1568</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;    {</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;        <span class="keywordflow">if</span>( divisor == 0 )</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;        {</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;            <span class="keywordflow">if</span>( remainder )</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;                *remainder = 0; <span class="comment">// this is for convenience, without it the compiler can report that &#39;remainder&#39; is uninitialized</span></div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::DivInt&quot;</span>)</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;        return 1;</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;        }</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;        if( divisor == 1 )</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;        {</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;            <span class="keywordflow">if</span>( remainder )</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;                *remainder = 0;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::DivInt&quot;</span>)</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;        return 0;</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;        }</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a4078e574332231102133119a3c9fc725">UInt</a>&lt;value_size&gt; dividend(*this);</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a>();</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;        </div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;        <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i;  <span class="comment">// i must be with a sign</span></div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> r = 0;</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;        <span class="comment">// we&#39;re looking for the last word in ss1</span></div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;        for(i=value_size-1 ; i&gt;0 &amp;&amp; dividend.<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i]==0 ; --i);</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;        for( ; i&gt;=0 ; --i)</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a9d4ebe31f0063a31aa1a28dcd8ee9b8b">DivTwoWords</a>(r, dividend.<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i], divisor, &amp;<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i], &amp;r);</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;        if( remainder )</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;            *remainder = r;</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;        TTMATH_LOG(&quot;<a class="code" href="classttmath_1_1_u_int.html#a4078e574332231102133119a3c9fc725">UInt</a>::<a class="code" href="classttmath_1_1_u_int.html#aadcfa312adce5e4c9f59eb7bb67ee925">DivInt</a>&quot;)</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;    return 0;</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9d4ebe31f0063a31aa1a28dcd8ee9b8b"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9d4ebe31f0063a31aa1a28dcd8ee9b8b">ttmath::UInt::DivTwoWords</a></div><div class="ttdeci">static void DivTwoWords(uint a, uint b, uint c, uint *r, uint *rest)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l01132">ttmathuint_x86_64.h:1132</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a4078e574332231102133119a3c9fc725"><div class="ttname"><a href="classttmath_1_1_u_int.html#a4078e574332231102133119a3c9fc725">ttmath::UInt::UInt</a></div><div class="ttdeci">UInt()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03045">ttmathuint.h:3045</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aadcfa312adce5e4c9f59eb7bb67ee925"><div class="ttname"><a href="classttmath_1_1_u_int.html#aadcfa312adce5e4c9f59eb7bb67ee925">ttmath::UInt::DivInt</a></div><div class="ttdeci">uint DivInt(uint divisor, uint *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01568">ttmathuint.h:1568</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00524">ttmath::Int&lt; exp &gt;::DivInt()</a>, and <a class="el" href="ttmathuint_8h_source.html#l03316">ttmath::UInt&lt; man &gt;::ToStringBase()</a>.</p>

</div>
</div>
<a id="a9d4ebe31f0063a31aa1a28dcd8ee9b8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d4ebe31f0063a31aa1a28dcd8ee9b8b">&#9670;&nbsp;</a></span>DivTwoWords()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::DivTwoWords </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>rest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Division</p>
<p>this method calculates 64bits word a:b / 32bits c (a higher, b lower word) r = a:b / c and rest - remainder</p>
<p>this method is created only on a 64bit platform***</p>
<p>WARNING: if r (one word) is too small for the result or c is equal zero there'll be a hardware interruption (0) and probably the end of your program </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l01132">1132</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    {</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> r_;</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest_;</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;<span class="comment">            these variables have similar meaning like those in</span></div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;<span class="comment">            the multiplication algorithm MulTwoWords</span></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;        TTMATH_ASSERT( c != 0 )</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;        <span class="preprocessor">#ifndef __GNUC__</span></div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;            ttmath_div_x64(&amp;a,&amp;b,c);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;            r_    = a;</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;            rest_ = b;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;            </div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;        </div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;            __asm__ (</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;            <span class="stringliteral">&quot;divq %%rcx             \n&quot;</span></div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;            : <span class="stringliteral">&quot;=a&quot;</span> (r_), <span class="stringliteral">&quot;=d&quot;</span> (rest_)</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;            : <span class="stringliteral">&quot;d&quot;</span> (a), <span class="stringliteral">&quot;a&quot;</span> (b), <span class="stringliteral">&quot;c&quot;</span> (c)</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;            : <span class="stringliteral">&quot;cc&quot;</span> );</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;        *r = r_;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;        *rest = rest_;</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad1639273f7e78c737e532d0375b4b1e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1639273f7e78c737e532d0375b4b1e9">&#9670;&nbsp;</a></span>FindLeadingBit()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::FindLeadingBit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>table_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method looks for the highest set bit</p>
<p>result:</p><ul>
<li>if 'this' is not zero: return value - true, 'table_id' - the index of a word &lt;0..value_size-1&gt;, 'index' - the index of this set bit in the word &lt;0..TTMATH_BITS_PER_UINT)</li>
<li>if 'this' is zero: return value - false, both 'table_id' and 'index' are zero </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00649">649</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    {</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        <span class="keywordflow">for</span>(table_id=value_size-1 ; table_id!=0 &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id]==0 ; --table_id);</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        <span class="keywordflow">if</span>( table_id==0 &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id]==0 )</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        {</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;            <span class="comment">// is zero</span></div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            index = 0;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        }</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        </div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <span class="comment">// table[table_id] is different from 0</span></div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        index = FindLeadingBitInWord( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id] );</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00795">ttmath::UInt&lt; man &gt;::BitNot2()</a>, and <a class="el" href="ttmathuint_8h_source.html#l03316">ttmath::UInt&lt; man &gt;::ToStringBase()</a>.</p>

</div>
</div>
<a id="a25fde993c54b2db2043947d462369068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25fde993c54b2db2043947d462369068">&#9670;&nbsp;</a></span>FindLowestBit()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::FindLowestBit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>table_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method looks for the smallest set bit</p>
<p>result:</p><ul>
<li>if 'this' is not zero: return value - true, 'table_id' - the index of a word &lt;0..value_size-1&gt;, 'index' - the index of this set bit in the word &lt;0..TTMATH_BITS_PER_UINT)</li>
<li>if 'this' is zero: return value - false, both 'table_id' and 'index' are zero </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00681">681</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    {</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        <span class="keywordflow">for</span>(table_id=0 ; table_id&lt;value_size &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id]==0 ; ++table_id);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        <span class="keywordflow">if</span>( table_id &gt;= value_size )</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;        {</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;            <span class="comment">// is zero</span></div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;            index    = 0;</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            table_id = 0;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        }</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;        </div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;        <span class="comment">// table[table_id] is different from 0</span></div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;        index = FindLowestBitInWord( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[table_id] );</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9114adb3f73a64079005a5deaaf08d8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9114adb3f73a64079005a5deaaf08d8f">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts an Int&lt;another_size&gt; type into this class</p>
<p>this operation has mainly sense if the value from p can be held in this type</p>
<p>it returns a carry if the value 'p' is too big </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00697">697</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    {</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="keywordflow">return</span> FromUIntOrInt(p, <span class="keyword">false</span>);</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l02240">ttmath::Big&lt; exp, man &gt;::FromBig()</a>, <a class="el" href="ttmathint_8h_source.html#l01015">ttmath::Int&lt; exp &gt;::FromInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00807">ttmath::Int&lt; exp &gt;::Int()</a>, and <a class="el" href="ttmathint_8h_source.html#l00771">ttmath::Int&lt; exp &gt;::operator=()</a>.</p>

</div>
</div>
<a id="a913c68637ffc618b15467d31bcc25334"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a913c68637ffc618b15467d31bcc25334">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the sint type into this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00706">706</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    {</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> fill = ( value&lt;0 ) ? <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a> : 0;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=1 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[i] = fill;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[0] = <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>(value);</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    </div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;        <span class="comment">// there&#39;ll never be a carry here</span></div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5a9bb53359d6a20d3f9fbf66b7afe4ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a9bb53359d6a20d3f9fbf66b7afe4ca">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts UInt&lt;another_size&gt; into this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00734">734</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    {</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        <span class="keywordflow">return</span> FromUIntOrInt(p, <span class="keyword">true</span>);</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="ab5fd8669aa27738697b9e8d253885c51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5fd8669aa27738697b9e8d253885c51">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the uint type into this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00762">762</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    {</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(value);</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae2cf19903ab205759566229607a738f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2cf19903ab205759566229607a738f4">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts 32 bit unsigned int type to this class this operator is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01005">1005</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    {</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(i);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7c8409a9a6b98dee7e61dac2510c1686"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c8409a9a6b98dee7e61dac2510c1686">&#9670;&nbsp;</a></span>FromInt() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromInt </td>
          <td>(</td>
          <td class="paramtype">signed int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts 32 bit signed int type to this class this operator is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01015">1015</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;    {</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(<a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>(i));</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a650f84b24d9283af60c1c1127772af2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a650f84b24d9283af60c1c1127772af2c">&#9670;&nbsp;</a></span>FromString() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>after_source</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>value_read</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts a string into its value it returns carry=1 if the value will be too big or an incorrect base 'b' is given</p>
<p>string is ended with a non-digit value, for example: "-12" will be translated to -12 as well as: "- 12foo" will be translated to -12 too</p>
<p>existing first white characters will be ommited (between '-' and a first digit can be white characters too)</p>
<p>after_source (if exists) is pointing at the end of the parsed string</p>
<p>value_read (if exists) tells whether something has actually been read (at least one digit) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01453">1453</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;    {</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;        <span class="keywordflow">return</span> FromStringBase(s, b, after_source, value_read);</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l01472">ttmath::Int&lt; exp &gt;::FromString()</a>, <a class="el" href="ttmathint_8h_source.html#l01071">ttmath::Int&lt; exp &gt;::Int()</a>, and <a class="el" href="ttmathint_8h_source.html#l01481">ttmath::Int&lt; exp &gt;::operator=()</a>.</p>

</div>
</div>
<a id="a9447d45a7cb8b731f2c22e5014eaf504"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9447d45a7cb8b731f2c22e5014eaf504">&#9670;&nbsp;</a></span>FromString() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromString </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const wchar_t **&#160;</td>
          <td class="paramname"><em>after_source</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>value_read</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts a string into its value </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01462">1462</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;    {</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;        <span class="keywordflow">return</span> FromStringBase(s, b, after_source, value_read);</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="aff766e59f24c0b13f0c7b0b1f82f6479"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff766e59f24c0b13f0c7b0b1f82f6479">&#9670;&nbsp;</a></span>FromString() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts a string into its value it returns carry=1 if the value will be too big or an incorrect base 'b' is given </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01472">1472</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;    {</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str(), b );</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac19acc46b81bd8f18fba476a63147563"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac19acc46b81bd8f18fba476a63147563">&#9670;&nbsp;</a></span>FromString() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromString </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts a string into its value it returns carry=1 if the value will be too big or an incorrect base 'b' is given </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01496">1496</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;    {</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str(), b );</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afa430b83b581bc863949facde3165103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa430b83b581bc863949facde3165103">&#9670;&nbsp;</a></span>FromUInt() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromUInt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts UInt&lt;another_size&gt; into this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00724">724</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    {</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        <span class="keywordflow">return</span> FromUIntOrInt(p, <span class="keyword">true</span>);</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00762">ttmath::Int&lt; exp &gt;::FromInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00995">ttmath::Int&lt; exp &gt;::FromUInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00862">ttmath::Int&lt; exp &gt;::Int()</a>, and <a class="el" href="ttmathint_8h_source.html#l00840">ttmath::Int&lt; exp &gt;::operator=()</a>.</p>

</div>
</div>
<a id="a18d04761dd2de32639b96dd651915e53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18d04761dd2de32639b96dd651915e53">&#9670;&nbsp;</a></span>FromUInt() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromUInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the uint type into this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00743">743</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    {</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=1 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[i] = 0;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[0] = value;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        <span class="comment">// there can be a carry here when the size of this value is equal one word</span></div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        <span class="comment">// and the &#39;value&#39; has the highest bit set</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        <span class="keywordflow">if</span>( value_size==1 &amp;&amp; (value &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>)!=0 )</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aaf8229b325a4dce57f744f8f97348d1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf8229b325a4dce57f744f8f97348d1e">&#9670;&nbsp;</a></span>FromUInt() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::FromUInt </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts 32 bit unsigned int type to this class this operator is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00995">995</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    {</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>(i));</div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9cee17c474838e4d58d55e4c8524fdb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cee17c474838e4d58d55e4c8524fdb7">&#9670;&nbsp;</a></span>GetBit()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::GetBit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bit_index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>getting the 'bit_index' bit</p>
<p>bit_index bigger or equal zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00706">706</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    {</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        TTMATH_ASSERT( bit_index &lt; value_size * <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index = bit_index / <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bit   = bit_index % <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> temp = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[index];</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> res  = <a class="code" href="classttmath_1_1_u_int.html#aaff1daf23f958ea1000c63e58f8a1a67">SetBitInWord</a>(temp, bit);</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aaff1daf23f958ea1000c63e58f8a1a67"><div class="ttname"><a href="classttmath_1_1_u_int.html#aaff1daf23f958ea1000c63e58f8a1a67">ttmath::UInt::SetBitInWord</a></div><div class="ttdeci">static uint SetBitInWord(uint &amp;value, uint bit)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l01020">ttmathuint_x86_64.h:1020</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01559">ttmath::Big&lt; exp, man &gt;::Mod2()</a>.</p>

</div>
</div>
<a id="ad20b71dfc5f2eed0c6ae4c09d29ac960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad20b71dfc5f2eed0c6ae4c09d29ac960">&#9670;&nbsp;</a></span>IsOnlyTheHighestBitSet()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::IsOnlyTheHighestBitSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returning true if only the highest bit is set </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02565">2565</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;    {</div><div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;<span class="preprocessor">#ifdef __clang__</span></div><div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;<span class="preprocessor">#pragma clang diagnostic push</span></div><div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;<span class="preprocessor">#pragma clang diagnostic ignored &quot;-Wtautological-compare&quot;</span></div><div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;</div><div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=0 ; i&lt;value_size-1 ; ++i)</div><div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != 0 )</div><div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;</div><div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160;<span class="preprocessor">#ifdef __clang__</span></div><div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160;<span class="preprocessor">#pragma clang diagnostic pop</span></div><div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[value_size-1] != <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a> )</div><div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160;</div><div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac6dd8e0cab3a501f094b6b7d22db9805"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6dd8e0cab3a501f094b6b7d22db9805">&#9670;&nbsp;</a></span>IsOnlyTheLowestBitSet()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::IsOnlyTheLowestBitSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returning true if only the lowest bit is set </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02589">2589</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;    {</div><div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0] != 1 )</div><div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160;</div><div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=1 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != 0 )</div><div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160;</div><div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af91fdc65105f7ceb071c2a8a98d0cbfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af91fdc65105f7ceb071c2a8a98d0cbfb">&#9670;&nbsp;</a></span>IsSign()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::IsSign </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method returns true if there's the sign</p>
<p>(the highest bit will be converted to the bool) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00156">156</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    {</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a2421734423858544d65515584fa4683c">UInt&lt;value_size&gt;::IsTheHighestBitSet</a>();</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a2421734423858544d65515584fa4683c"><div class="ttname"><a href="classttmath_1_1_u_int.html#a2421734423858544d65515584fa4683c">ttmath::UInt::IsTheHighestBitSet</a></div><div class="ttdeci">bool IsTheHighestBitSet() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02547">ttmathuint.h:2547</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00168">ttmath::Int&lt; exp &gt;::Abs()</a>, <a class="el" href="ttmathint_8h_source.html#l00220">ttmath::Int&lt; exp &gt;::Add()</a>, <a class="el" href="ttmathint_8h_source.html#l00237">ttmath::Int&lt; exp &gt;::AddInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00327">ttmath::Int&lt; exp &gt;::AddOne()</a>, <a class="el" href="ttmathint_8h_source.html#l00256">ttmath::Int&lt; exp &gt;::AddTwoInts()</a>, <a class="el" href="ttmathint_8h_source.html#l00480">ttmath::Int&lt; exp &gt;::Div()</a>, <a class="el" href="ttmathint_8h_source.html#l00524">ttmath::Int&lt; exp &gt;::DivInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l03561">ttmath::Big&lt; exp, man &gt;::FromInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l05883">ttmath::Big&lt; exp, man &gt;::IsInteger()</a>, <a class="el" href="ttmathint_8h_source.html#l00440">ttmath::Int&lt; exp &gt;::Mul()</a>, <a class="el" href="ttmathint_8h_source.html#l00398">ttmath::Int&lt; exp &gt;::MulInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00608">ttmath::Int&lt; exp &gt;::Pow()</a>, <a class="el" href="ttmathbig_8h_source.html#l01636">ttmath::Big&lt; exp, man &gt;::Pow()</a>, <a class="el" href="ttmathbig_8h_source.html#l05842">ttmath::Big&lt; exp, man &gt;::RemainFraction()</a>, <a class="el" href="ttmathint_8h_source.html#l00141">ttmath::Int&lt; exp &gt;::SetSign()</a>, <a class="el" href="ttmathbig_8h_source.html#l05808">ttmath::Big&lt; exp, man &gt;::SkipFraction()</a>, <a class="el" href="ttmathint_8h_source.html#l00299">ttmath::Int&lt; exp &gt;::Sub()</a>, <a class="el" href="ttmathint_8h_source.html#l00314">ttmath::Int&lt; exp &gt;::SubInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00340">ttmath::Int&lt; exp &gt;::SubOne()</a>, <a class="el" href="ttmathint_8h_source.html#l01167">ttmath::Int&lt; exp &gt;::ToInt()</a>, and <a class="el" href="ttmathint_8h_source.html#l01258">ttmath::Int&lt; exp &gt;::ToUInt()</a>.</p>

</div>
</div>
<a id="a2421734423858544d65515584fa4683c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2421734423858544d65515584fa4683c">&#9670;&nbsp;</a></span>IsTheHighestBitSet()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::IsTheHighestBitSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if the highest bit of the value is set </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02547">2547</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;    {</div><div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[value_size-1] &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>) != 0;</div><div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00156">ttmath::Int&lt; exp &gt;::IsSign()</a>, and <a class="el" href="ttmathbig_8h_source.html#l00173">ttmath::Big&lt; exp, man &gt;::Standardizing()</a>.</p>

</div>
</div>
<a id="a65b27dabbb8cefab74c1c31c6610a2b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65b27dabbb8cefab74c1c31c6610a2b6">&#9670;&nbsp;</a></span>IsTheLowestBitSet()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::IsTheLowestBitSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if the lowest bit of the value is set </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02556">2556</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;    {</div><div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;        <span class="keywordflow">return</span> (*<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a> &amp; 1) != 0;</div><div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac7e4c950e2abeda28e58a35725d37ef7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7e4c950e2abeda28e58a35725d37ef7">&#9670;&nbsp;</a></span>IsZero()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::IsZero </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns true if the value is equal zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02605">2605</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160;    {</div><div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160;            <span class="keywordflow">if</span>(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] != 0)</div><div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160;</div><div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01584">ttmath::Big&lt; exp, man &gt;::Pow()</a>, <a class="el" href="ttmathuint_8h_source.html#l02425">ttmath::UInt&lt; man &gt;::Pow()</a>, <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>, and <a class="el" href="ttmathuint_8h_source.html#l03316">ttmath::UInt&lt; man &gt;::ToStringBase()</a>.</p>

</div>
</div>
<a id="adce4f7a208708d70114fc49091f389c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adce4f7a208708d70114fc49091f389c6">&#9670;&nbsp;</a></span>LibType()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c3bd12cd3d050852a60e022e5e12799">LibTypeCode</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::LibType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returning the currect type of the library </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00126">126</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            <a class="code" href="namespacettmath.html#a5c3bd12cd3d050852a60e022e5e12799">LibTypeCode</a> info = asm_vc_64;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">        #endif      </span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;            <a class="code" href="namespacettmath.html#a5c3bd12cd3d050852a60e022e5e12799">LibTypeCode</a> info = asm_gcc_64;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">return</span> info;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c3bd12cd3d050852a60e022e5e12799"><div class="ttname"><a href="namespacettmath.html#a5c3bd12cd3d050852a60e022e5e12799">ttmath::LibTypeCode</a></div><div class="ttdeci">LibTypeCode</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00356">ttmathtypes.h:356</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00154">ttmath::Big&lt; exp, man &gt;::LibType()</a>.</p>

</div>
</div>
<a id="add0cf14a0684fc8e7d8b1471759b35e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add0cf14a0684fc8e7d8b1471759b35e0">&#9670;&nbsp;</a></span>LibTypeStr()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::LibTypeStr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returning the string represents the currect type of the library we have following types: asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) asm_gcc_32 - with asm code designed for GCC (32 bits) asm_vc_64 - with asm for VC (64 bit) asm_gcc_64 - with asm for GCC (64 bit) no_asm_32 - pure C++ version (32 bit) - without any asm code no_asm_64 - pure C++ version (64 bit) - without any asm code </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00108">108</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    {</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;            <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> info[] = <span class="stringliteral">&quot;asm_vc_64&quot;</span>;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">        #endif      </span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;            <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> info[] = <span class="stringliteral">&quot;asm_gcc_64&quot;</span>;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keywordflow">return</span> info;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00145">ttmath::Big&lt; exp, man &gt;::LibTypeStr()</a>.</p>

</div>
</div>
<a id="ae28324f4f8a73446301bdd5e27749755"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae28324f4f8a73446301bdd5e27749755">&#9670;&nbsp;</a></span>Mul() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Mul </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>multiplication this = this * ss2</p>
<p>it returns carry if the result is too big (we're using the method from the base class but we have to make one correction in account of signs) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00440">440</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    {</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordtype">bool</span> ss1_is_sign, ss2_is_sign;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        ss1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        ss2_is_sign = ss2.IsSign();</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="comment">            we don&#39;t have to check the carry from Abs (values will be correct</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="comment">            because next we&#39;re using the method Mul from the base class UInt</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="comment">            which is without a sign)</span></div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <a class="code" href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">Abs</a>();</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        ss2.Abs();</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        c  = <a class="code" href="classttmath_1_1_u_int.html#aa4963e5c44942adf38731307f34287dd">UInt&lt;value_size&gt;::Mul</a>(ss2);</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        c += CheckMinCarry(ss1_is_sign, ss2_is_sign);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <span class="keywordflow">if</span>( ss1_is_sign != ss2_is_sign )</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;            <a class="code" href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">SetSign</a>();</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9b660237a184333e26bdcb933923658a"><div class="ttname"><a href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">ttmath::Int::SetSign</a></div><div class="ttdeci">void SetSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00141">ttmathint.h:141</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_aeb74289f960343a11bf25a9b510fd99d"><div class="ttname"><a href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">ttmath::Int::Abs</a></div><div class="ttdeci">uint Abs()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00168">ttmathint.h:168</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aa4963e5c44942adf38731307f34287dd"><div class="ttname"><a href="classttmath_1_1_u_int.html#aa4963e5c44942adf38731307f34287dd">ttmath::UInt::Mul</a></div><div class="ttdeci">uint Mul(const UInt&lt; value_size &gt; &amp;ss2, uint algorithm=100)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00923">ttmathuint.h:923</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa4963e5c44942adf38731307f34287dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4963e5c44942adf38731307f34287dd">&#9670;&nbsp;</a></span>Mul() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>algorithm</em> = <code>100</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the multiplication 'this' = 'this' * ss2</p>
<p>algorithm: 100 - means automatically choose the fastest algorithm </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00923">923</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    {</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        <span class="keywordflow">switch</span>( algorithm )</div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;        {</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;        <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a9d427ec739abdc4e1a8354f19d87e022">Mul1</a>(ss2);</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;        <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a1c3b166dbd485361dff8df9756fd9d9a">Mul2</a>(ss2);</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;        <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a8167a3f0b869b08577f46ab7ea3581d4">Mul3</a>(ss2);</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;        <span class="keywordflow">case</span> 100:</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#adaa67dddec10cd14617a7402e6a0bb26">MulFastest</a>(ss2);</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;        }</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a1c3b166dbd485361dff8df9756fd9d9a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a1c3b166dbd485361dff8df9756fd9d9a">ttmath::UInt::Mul2</a></div><div class="ttdeci">uint Mul2(const UInt&lt; value_size &gt; &amp;ss2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01082">ttmathuint.h:1082</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_adaa67dddec10cd14617a7402e6a0bb26"><div class="ttname"><a href="classttmath_1_1_u_int.html#adaa67dddec10cd14617a7402e6a0bb26">ttmath::UInt::MulFastest</a></div><div class="ttdeci">uint MulFastest(const UInt&lt; value_size &gt; &amp;ss2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01479">ttmathuint.h:1479</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a8167a3f0b869b08577f46ab7ea3581d4"><div class="ttname"><a href="classttmath_1_1_u_int.html#a8167a3f0b869b08577f46ab7ea3581d4">ttmath::UInt::Mul3</a></div><div class="ttdeci">uint Mul3(const UInt&lt; value_size &gt; &amp;ss2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01212">ttmathuint.h:1212</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9d427ec739abdc4e1a8354f19d87e022"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9d427ec739abdc4e1a8354f19d87e022">ttmath::UInt::Mul1</a></div><div class="ttdeci">uint Mul1(const UInt&lt; value_size &gt; &amp;ss2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01023">ttmathuint.h:1023</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00440">ttmath::Int&lt; exp &gt;::Mul()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02425">ttmath::UInt&lt; man &gt;::Pow()</a>.</p>

</div>
</div>
<a id="a9d427ec739abdc4e1a8354f19d87e022"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d427ec739abdc4e1a8354f19d87e022">&#9670;&nbsp;</a></span>Mul1()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul1 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: this = this * ss2 can return carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01023">1023</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;    {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;        <span class="keywordflow">if</span>( <span class="keyword">this</span> == &amp;ss2 )</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        {</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;            UInt&lt;value_size&gt; copy_ss2(ss2);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;            <span class="keywordflow">return</span> Mul1Ref(copy_ss2);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;        }</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;        {</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;            <span class="keywordflow">return</span> Mul1Ref(ss2);</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;        }</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00923">ttmath::UInt&lt; man &gt;::Mul()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01043">ttmath::UInt&lt; man &gt;::Mul1Big()</a>.</p>

</div>
</div>
<a id="a3da327dfd6e59621497c735ababb392e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3da327dfd6e59621497c735ababb392e">&#9670;&nbsp;</a></span>Mul1Big()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul1Big </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: result = this * ss2</p>
<p>result is twice bigger than 'this' and 'ss2' this method never returns carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01043">1043</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;    {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;    UInt&lt;value_size*2&gt; ss2;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;        <span class="comment">// copying *this into result and ss2_ into ss2</span></div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        <span class="keywordflow">for</span>(i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        {</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;            result.table[i] = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i];</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;            ss2.table[i]    = ss2_.table[i];</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;        }</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;        <span class="comment">// cleaning the highest bytes in result and ss2</span></div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;        <span class="keywordflow">for</span>( ; i &lt; value_size*2 ; ++i)</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;        {</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;            result.table[i] = 0;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;            ss2.table[i]    = 0;</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;        <span class="comment">// multiply</span></div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;        <span class="comment">// (there will not be a carry)</span></div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;        result.Mul1( ss2 );</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::Mul1Big&quot;</span>)</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00951">ttmath::UInt&lt; man &gt;::MulBig()</a>.</p>

</div>
</div>
<a id="a1c3b166dbd485361dff8df9756fd9d9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c3b166dbd485361dff8df9756fd9d9a">&#9670;&nbsp;</a></span>Mul2()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the second version of the multiplication algorithm</p>
<p>this algorithm is similar to the 'schoolbook method' which is done by hand</p>
<p>multiplication: this = this * ss2</p>
<p>it returns carry if it has been </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01082">1082</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    {</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;    UInt&lt;value_size*2&gt; result;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i, c = 0;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">Mul2Big</a>(ss2, result);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    </div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;        <span class="comment">// copying result</span></div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;        <span class="keywordflow">for</span>(i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = result.table[i];</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        <span class="comment">// testing carry</span></div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;        <span class="keywordflow">for</span>( ; i&lt;value_size*2 ; ++i)</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;            <span class="keywordflow">if</span>( result.table[i] != 0 )</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;            {</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;                c = 1;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;            }</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Mul2&quot;</span>, c)</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ae145ad09c7e20a9f5944cdf94ac2b189"><div class="ttname"><a href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">ttmath::UInt::Mul2Big</a></div><div class="ttdeci">void Mul2Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01113">ttmathuint.h:1113</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00923">ttmath::UInt&lt; man &gt;::Mul()</a>.</p>

</div>
</div>
<a id="ae145ad09c7e20a9f5944cdf94ac2b189"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae145ad09c7e20a9f5944cdf94ac2b189">&#9670;&nbsp;</a></span>Mul2Big()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul2Big </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: result = this * ss2</p>
<p>result is twice bigger than this and ss2 this method never returns carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01113">1113</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    {</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;        Mul2Big2&lt;value_size&gt;(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>, ss2.table, result);</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::Mul2Big&quot;</span>)</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l01082">ttmath::UInt&lt; man &gt;::Mul2()</a>, <a class="el" href="ttmathuint_8h_source.html#l00951">ttmath::UInt&lt; man &gt;::MulBig()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01510">ttmath::UInt&lt; man &gt;::MulFastestBig()</a>.</p>

</div>
</div>
<a id="a8167a3f0b869b08577f46ab7ea3581d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8167a3f0b869b08577f46ab7ea3581d4">&#9670;&nbsp;</a></span>Mul3()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul3 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: this = this * ss2</p>
<p>This is Karatsuba Multiplication algorithm, we're using it when value_size is greater than or equal to TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE macro (defined in <a class="el" href="ttmathuint_8h.html" title="template class UInt&lt;uint&gt;">ttmathuint.h</a>). If value_size is smaller then we're using <a class="el" href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">Mul2Big()</a> instead.</p>
<p>Karatsuba multiplication: Assume we have: </p><pre class="fragment">this = x = x1*B^m + x0
ss2  = y = y1*B^m + y0
</pre><p>where x0 and y0 are less than B^m the product from multiplication we can show as: x*y = (x1*B^m + x0)(y1*B^m + y0) = z2*B^(2m) + z1*B^m + z0 where </p><pre class="fragment">z2 = x1*y1
z1 = x1*y0 + x0*y1
z0 = x0*y0
</pre><p>this is standard schoolbook algorithm with O(n^2), Karatsuba observed that z1 can be given in other form: </p><pre class="fragment">z1 = (x1 + x0)*(y1 + y0) - z2 - z0    / z1 = (x1*y1 + x1*y0 + x0*y1 + x0*y0) - x1*y1 - x0*y0 = x1*y0 + x0*y1 /
</pre><p>and to calculate the multiplication we need only three multiplications (with some additions and subtractions)</p>
<p>Our objects 'this' and 'ss2' we divide into two parts and by using recurrence we calculate the multiplication. Karatsuba multiplication has O( n^(ln(3)/ln(2)) ) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01212">1212</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;    {</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;    UInt&lt;value_size*2&gt; result;</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i, c = 0;</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">Mul3Big</a>(ss2, result);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;    </div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;        <span class="comment">// copying result</span></div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;        <span class="keywordflow">for</span>(i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = result.table[i];</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;        <span class="comment">// testing carry</span></div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;        <span class="keywordflow">for</span>( ; i&lt;value_size*2 ; ++i)</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;            <span class="keywordflow">if</span>( result.table[i] != 0 )</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;            {</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;                c = 1;</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;            }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Mul3&quot;</span>, c)</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a59c8668cd527298db160079e96a1477a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">ttmath::UInt::Mul3Big</a></div><div class="ttdeci">void Mul3Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01245">ttmathuint.h:1245</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00923">ttmath::UInt&lt; man &gt;::Mul()</a>.</p>

</div>
</div>
<a id="a59c8668cd527298db160079e96a1477a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59c8668cd527298db160079e96a1477a">&#9670;&nbsp;</a></span>Mul3Big()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Mul3Big </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: result = this * ss2</p>
<p>result is twice bigger than this and ss2, this method never returns carry, (Karatsuba multiplication) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01245">1245</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    {</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        Mul3Big2&lt;value_size&gt;(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>, ss2.table, result.table);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::Mul3Big&quot;</span>)</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l01212">ttmath::UInt&lt; man &gt;::Mul3()</a>, <a class="el" href="ttmathuint_8h_source.html#l00951">ttmath::UInt&lt; man &gt;::MulBig()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01510">ttmath::UInt&lt; man &gt;::MulFastestBig()</a>.</p>

</div>
</div>
<a id="ac655c4d3a5ec23052292ccf3a058a6f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac655c4d3a5ec23052292ccf3a058a6f1">&#9670;&nbsp;</a></span>MulBig()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulBig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>algorithm</em> = <code>100</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the multiplication 'result' = 'this' * ss2</p>
<p>since the 'result' is twice bigger than 'this' and 'ss2' this method never returns a carry</p>
<p>algorithm: 100 - means automatically choose the fastest algorithm </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00951">951</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;    {</div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">switch</span>( algorithm )</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;        {</div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a3da327dfd6e59621497c735ababb392e">Mul1Big</a>(ss2, result);</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;        <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">Mul2Big</a>(ss2, result);</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;        <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">Mul3Big</a>(ss2, result);</div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;        <span class="keywordflow">case</span> 100:</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a9147e767c1f90666a21c581343854c7a">MulFastestBig</a>(ss2, result);</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;        }</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ae145ad09c7e20a9f5944cdf94ac2b189"><div class="ttname"><a href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">ttmath::UInt::Mul2Big</a></div><div class="ttdeci">void Mul2Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01113">ttmathuint.h:1113</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a59c8668cd527298db160079e96a1477a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">ttmath::UInt::Mul3Big</a></div><div class="ttdeci">void Mul3Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01245">ttmathuint.h:1245</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9147e767c1f90666a21c581343854c7a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9147e767c1f90666a21c581343854c7a">ttmath::UInt::MulFastestBig</a></div><div class="ttdeci">void MulFastestBig(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01510">ttmathuint.h:1510</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a3da327dfd6e59621497c735ababb392e"><div class="ttname"><a href="classttmath_1_1_u_int.html#a3da327dfd6e59621497c735ababb392e">ttmath::UInt::Mul1Big</a></div><div class="ttdeci">void Mul1Big(const UInt&lt; value_size &gt; &amp;ss2_, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01043">ttmathuint.h:1043</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adaa67dddec10cd14617a7402e6a0bb26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaa67dddec10cd14617a7402e6a0bb26">&#9670;&nbsp;</a></span>MulFastest()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulFastest </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication this = this * ss2 </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01479">1479</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;    {</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;    UInt&lt;value_size*2&gt; result;</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i, c = 0;</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a9147e767c1f90666a21c581343854c7a">MulFastestBig</a>(ss2, result);</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;    </div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;        <span class="comment">// copying result</span></div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;        <span class="keywordflow">for</span>(i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = result.table[i];</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;        <span class="comment">// testing carry</span></div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;        <span class="keywordflow">for</span>( ; i&lt;value_size*2 ; ++i)</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;            <span class="keywordflow">if</span>( result.table[i] != 0 )</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;            {</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;                c = 1;</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;            }</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::MulFastest&quot;</span>, c)</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9147e767c1f90666a21c581343854c7a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9147e767c1f90666a21c581343854c7a">ttmath::UInt::MulFastestBig</a></div><div class="ttdeci">void MulFastestBig(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01510">ttmathuint.h:1510</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00923">ttmath::UInt&lt; man &gt;::Mul()</a>.</p>

</div>
</div>
<a id="a9147e767c1f90666a21c581343854c7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9147e767c1f90666a21c581343854c7a">&#9670;&nbsp;</a></span>MulFastestBig()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulFastestBig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size *2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication result = this * ss2</p>
<p>this method is trying to select the fastest algorithm (in the future this method can be improved) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l01510">1510</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;    {</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;        <span class="keywordflow">if</span>( value_size &lt; <a class="code" href="ttmathtypes_8h.html#ac44eea4d15434da93b77bf6a1ae86fe2">TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE</a> )</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;        {</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">Mul2Big</a>(ss2, result);</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;        }</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1size  = value_size, x2size  = value_size;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1start = 0,          x2start = 0;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;        <span class="keywordflow">for</span>(x1size=value_size ; x1size&gt;0 &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x1size-1]==0 ; --x1size);</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;        <span class="keywordflow">for</span>(x2size=value_size ; x2size&gt;0 &amp;&amp; ss2.table[x2size-1]==0 ; --x2size);</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;        <span class="keywordflow">if</span>( x1size==0 || x2size==0 )</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;        {</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;            <span class="comment">// either &#39;this&#39; or &#39;ss2&#39; is equal zero - the result is zero too</span></div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;            result.SetZero();</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;        }</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;        <span class="keywordflow">for</span>(x1start=0 ; x1start&lt;x1size &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x1start]==0 ; ++x1start);</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;        <span class="keywordflow">for</span>(x2start=0 ; x2start&lt;x2size &amp;&amp; ss2.table[x2start]==0 ; ++x2start);</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> distancex1 = x1size - x1start;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> distancex2 = x2size - x2start;</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;        <span class="keywordflow">if</span>( distancex1 &lt; 3 || distancex2 &lt; 3 )</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;        {</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;            <span class="comment">// either &#39;this&#39; or &#39;ss2&#39; have only 2 (or 1) items different from zero (side by side)</span></div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;            <span class="comment">// (this condition in the future can be improved)</span></div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;            Mul2Big3&lt;value_size&gt;(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>, ss2.table, result, x1start, x1size, x2start, x2size);</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;        }</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;        <span class="comment">// Karatsuba multiplication</span></div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">Mul3Big</a>(ss2, result);</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::MulFastestBig&quot;</span>)</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ae145ad09c7e20a9f5944cdf94ac2b189"><div class="ttname"><a href="classttmath_1_1_u_int.html#ae145ad09c7e20a9f5944cdf94ac2b189">ttmath::UInt::Mul2Big</a></div><div class="ttdeci">void Mul2Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01113">ttmathuint.h:1113</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a59c8668cd527298db160079e96a1477a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a59c8668cd527298db160079e96a1477a">ttmath::UInt::Mul3Big</a></div><div class="ttdeci">void Mul3Big(const UInt&lt; value_size &gt; &amp;ss2, UInt&lt; value_size *2 &gt; &amp;result)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l01245">ttmathuint.h:1245</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_ac44eea4d15434da93b77bf6a1ae86fe2"><div class="ttname"><a href="ttmathtypes_8h.html#ac44eea4d15434da93b77bf6a1ae86fe2">TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE</a></div><div class="ttdeci">#define TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00326">ttmathtypes.h:326</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00951">ttmath::UInt&lt; man &gt;::MulBig()</a>, and <a class="el" href="ttmathuint_8h_source.html#l01479">ttmath::UInt&lt; man &gt;::MulFastest()</a>.</p>

</div>
</div>
<a id="a8fc0c61f67f3573a7c3006f9cc1de28b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fc0c61f67f3573a7c3006f9cc1de28b">&#9670;&nbsp;</a></span>MulInt() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::MulInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>multiplication: this = this * ss2</p>
<p>it can return a carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00398">398</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    {</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="keywordtype">bool</span> ss1_is_sign, ss2_is_sign;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        ss1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="comment">/*</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="comment">            we don&#39;t have to check the carry from Abs (values will be correct</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="comment">            because next we&#39;re using the method MulInt from the base class UInt</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="comment">            which is without a sign)</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="comment">        */</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        <a class="code" href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">Abs</a>();</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        <span class="keywordflow">if</span>( ss2 &lt; 0 )</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        {</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;            ss2 = -ss2;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;            ss2_is_sign = <span class="keyword">true</span>;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        }</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        {</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;            ss2_is_sign = <span class="keyword">false</span>;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        }</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        c  = <a class="code" href="classttmath_1_1_u_int.html#a47b57350163b4dc79e480995fc044ad7">UInt&lt;value_size&gt;::MulInt</a>((<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>)ss2);</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        c += CheckMinCarry(ss1_is_sign, ss2_is_sign);</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordflow">if</span>( ss1_is_sign != ss2_is_sign )</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            <a class="code" href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">SetSign</a>();</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9b660237a184333e26bdcb933923658a"><div class="ttname"><a href="classttmath_1_1_int.html#a9b660237a184333e26bdcb933923658a">ttmath::Int::SetSign</a></div><div class="ttdeci">void SetSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00141">ttmathint.h:141</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_aeb74289f960343a11bf25a9b510fd99d"><div class="ttname"><a href="classttmath_1_1_int.html#aeb74289f960343a11bf25a9b510fd99d">ttmath::Int::Abs</a></div><div class="ttdeci">uint Abs()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00168">ttmathint.h:168</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a47b57350163b4dc79e480995fc044ad7"><div class="ttname"><a href="classttmath_1_1_u_int.html#a47b57350163b4dc79e480995fc044ad7">ttmath::UInt::MulInt</a></div><div class="ttdeci">uint MulInt(uint ss2)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00835">ttmathuint.h:835</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a47b57350163b4dc79e480995fc044ad7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47b57350163b4dc79e480995fc044ad7">&#9670;&nbsp;</a></span>MulInt() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiplication</p>
<p>multiplication: this = this * ss2</p>
<p>it can return a carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00835">835</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    {</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> r1, r2, x1;</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = 0;</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        UInt&lt;value_size&gt; u(*<span class="keyword">this</span>);</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a>();</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keywordflow">if</span>( ss2 == 0 )</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        {</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;            TTMATH_LOGC(<span class="stringliteral">&quot;UInt::MulInt(uint)&quot;</span>, 0)</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;            return 0;</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;        }</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        for(x1=0 ; x1&lt;value_size-1 ; ++x1)</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        {</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">MulTwoWords</a>(u.table[x1], ss2, &amp;r2, &amp;r1);</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;            c += <a class="code" href="classttmath_1_1_u_int.html#aba79aa3cdad513d1c41f4caa3758faab">AddTwoInts</a>(r2,r1,x1);</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        }</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        <span class="comment">// x1 = value_size-1  (last word)</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">MulTwoWords</a>(u.table[x1], ss2, &amp;r2, &amp;r1);</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;        c += (r2!=0) ? 1 : 0;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        c += <a class="code" href="classttmath_1_1_u_int.html#af4234f162487dbde47c9319f49b2d7af">AddInt</a>(r1, x1);</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::MulInt(uint)&quot;</span>, c)</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    <span class="keywordflow">return</span> (c==0)? 0 : 1;</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_af4234f162487dbde47c9319f49b2d7af"><div class="ttname"><a href="classttmath_1_1_u_int.html#af4234f162487dbde47c9319f49b2d7af">ttmath::UInt::AddInt</a></div><div class="ttdeci">uint AddInt(uint value, uint index=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00231">ttmathuint_x86_64.h:231</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9ef4b05ec898e0407bd1d01705fce885"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">ttmath::UInt::MulTwoWords</a></div><div class="ttdeci">static void MulTwoWords(uint a, uint b, uint *result_high, uint *result_low)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l01072">ttmathuint_x86_64.h:1072</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aba79aa3cdad513d1c41f4caa3758faab"><div class="ttname"><a href="classttmath_1_1_u_int.html#aba79aa3cdad513d1c41f4caa3758faab">ttmath::UInt::AddTwoInts</a></div><div class="ttdeci">uint AddTwoInts(uint x2, uint x1, uint index)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00316">ttmathuint_x86_64.h:316</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00398">ttmath::Int&lt; exp &gt;::MulInt()</a>, and <a class="el" href="ttmathbig_8h_source.html#l01179">ttmath::Big&lt; exp, man &gt;::MulUInt()</a>.</p>

</div>
</div>
<a id="ad0deed24562f4736ea3601a91612054b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0deed24562f4736ea3601a91612054b">&#9670;&nbsp;</a></span>MulInt() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint result_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; result_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>multiplication: result = this * ss2</p>
<p>we're using this method only when result_size is greater than value_size if so there will not be a carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00873">873</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    {</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    TTMATH_ASSERT( result_size &gt; value_size )</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> r2,r1;</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1size=value_size;</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1start=0;</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        result.SetZero();</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;        <span class="keywordflow">if</span>( ss2 == 0 )</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;        {</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;            TTMATH_VECTOR_LOG(<span class="stringliteral">&quot;UInt::MulInt(uint, UInt&lt;&gt;)&quot;</span>, result.table, result_size)</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;        }</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;        <span class="keywordflow">if</span>( value_size &gt; 2 )</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        {   </div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;            <span class="comment">// if the value_size is smaller than or equal to 2</span></div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;            <span class="comment">// there is no sense to set x1size and x1start to another values</span></div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;            <span class="keywordflow">for</span>(x1size=value_size ; x1size&gt;0 &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x1size-1]==0 ; --x1size);</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;            <span class="keywordflow">if</span>( x1size == 0 )</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;            {</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;                TTMATH_VECTOR_LOG(<span class="stringliteral">&quot;UInt::MulInt(uint, UInt&lt;&gt;)&quot;</span>, result.table, result_size)</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;            }</div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;            <span class="keywordflow">for</span>(x1start=0 ; x1start&lt;x1size &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x1start]==0 ; ++x1start);</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;        }</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> x1=x1start ; x1&lt;x1size ; ++x1)</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;        {</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">MulTwoWords</a>(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[x1], ss2, &amp;r2, &amp;r1 );</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;            result.AddTwoInts(r2,r1,x1);</div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;        }</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;        TTMATH_VECTOR_LOG(<span class="stringliteral">&quot;UInt::MulInt(uint, UInt&lt;&gt;)&quot;</span>, result.table, result_size)</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    <span class="keywordflow">return</span>;</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a9ef4b05ec898e0407bd1d01705fce885"><div class="ttname"><a href="classttmath_1_1_u_int.html#a9ef4b05ec898e0407bd1d01705fce885">ttmath::UInt::MulTwoWords</a></div><div class="ttdeci">static void MulTwoWords(uint a, uint b, uint *result_high, uint *result_low)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l01072">ttmathuint_x86_64.h:1072</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9ef4b05ec898e0407bd1d01705fce885"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ef4b05ec898e0407bd1d01705fce885">&#9670;&nbsp;</a></span>MulTwoWords()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::MulTwoWords </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>result_high</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>result_low</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiplication</p>
<p>multiplication: result_high:result_low = a * b</p><ul>
<li>result_high - higher word of the result</li>
<li>result_low - lower word of the result</li>
</ul>
<p>this methos never returns a carry this method is used in the second version of the multiplication algorithms</p>
<p>this method is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l01072">1072</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    {</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    <span class="comment">/*</span></div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;<span class="comment">        we must use these temporary variables in order to inform the compilator</span></div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;<span class="comment">        that value pointed with result1 and result2 has changed</span></div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="comment"></span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;<span class="comment">        this has no effect in visual studio but it&#39;s usefull when</span></div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;<span class="comment">        using gcc and options like -O</span></div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="comment">    */</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> result1_;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> result2_;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;            result1_ = _umul128(a,b,&amp;result2_);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;        __asm__ (</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        </div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;            <span class="stringliteral">&quot;mulq %%rdx         \n&quot;</span></div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;            : <span class="stringliteral">&quot;=a&quot;</span> (result1_), <span class="stringliteral">&quot;=d&quot;</span> (result2_)</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;            : <span class="stringliteral">&quot;0&quot;</span> (a),         <span class="stringliteral">&quot;1&quot;</span> (b)</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;            : <span class="stringliteral">&quot;cc&quot;</span> );</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;        *result_low  = result1_;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;        *result_high = result2_;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4aea837eab37c7f7e5cc4d5f9dd908d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aea837eab37c7f7e5cc4d5f9dd908d0">&#9670;&nbsp;</a></span>operator++() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator++ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Prefix operator e.g. ++variable </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01767">1767</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;    {</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;        <a class="code" href="classttmath_1_1_int.html#abdf555b866fd8a2e9bcadde81e253053">AddOne</a>();</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_abdf555b866fd8a2e9bcadde81e253053"><div class="ttname"><a href="classttmath_1_1_int.html#abdf555b866fd8a2e9bcadde81e253053">ttmath::Int::AddOne</a></div><div class="ttdeci">uint AddOne()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00327">ttmathint.h:327</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a501456ac6fc2c6a5ff68ad43cd184a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a501456ac6fc2c6a5ff68ad43cd184a57">&#9670;&nbsp;</a></span>operator++() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt;value_size&gt; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator++ </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Postfix operator e.g. variable++ </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01778">1778</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;    {</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;    UInt&lt;value_size&gt; temp( *<span class="keyword">this</span> );</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;        <a class="code" href="classttmath_1_1_int.html#abdf555b866fd8a2e9bcadde81e253053">AddOne</a>();</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_abdf555b866fd8a2e9bcadde81e253053"><div class="ttname"><a href="classttmath_1_1_int.html#abdf555b866fd8a2e9bcadde81e253053">ttmath::Int::AddOne</a></div><div class="ttdeci">uint AddOne()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00327">ttmathint.h:327</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a187216aeab3023f37236ac5be3380c6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a187216aeab3023f37236ac5be3380c6d">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator- </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>standard mathematical operators</p>
<p>an operator for changing the sign</p>
<p>it's not changing 'this' but the changed value will be returned </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01660">1660</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;    {</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;    Int&lt;value_size&gt; temp(*<span class="keyword">this</span>);</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;        temp.ChangeSign();</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;        </div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a9becee39775ae0fb80622d7ad72f5820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9becee39775ae0fb80622d7ad72f5820">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt;value_size&gt; <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p2</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>standard mathematical operators </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03755">3755</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03756"></a><span class="lineno"> 3756</span>&#160;    {</div><div class="line"><a name="l03757"></a><span class="lineno"> 3757</span>&#160;    UInt&lt;value_size&gt; temp(*<span class="keyword">this</span>);</div><div class="line"><a name="l03758"></a><span class="lineno"> 3758</span>&#160;</div><div class="line"><a name="l03759"></a><span class="lineno"> 3759</span>&#160;        temp.Sub(p2);</div><div class="line"><a name="l03760"></a><span class="lineno"> 3760</span>&#160;</div><div class="line"><a name="l03761"></a><span class="lineno"> 3761</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l03762"></a><span class="lineno"> 3762</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a27af0093ced091bcc6d1dae366c1af4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27af0093ced091bcc6d1dae366c1af4d">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>the default assignment operator </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00771">771</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    {</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(p);</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acf9f2921e802cc86a1d1ce750ce399ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf9f2921e802cc86a1d1ce750ce399ae">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts an Int&lt;another_size&gt; type to this class</p>
<p>it doesn't return a carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00785">785</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    {</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(p);</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a68170d34e8eef9caa7c4cefec414d34e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68170d34e8eef9caa7c4cefec414d34e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[3/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the sint type to this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00796">796</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    {</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(i);</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1608364ea7d20cef82124053e097fd99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1608364ea7d20cef82124053e097fd99">&#9670;&nbsp;</a></span>operator=() <span class="overload">[4/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;uint argument_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; argument_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts an UInt&lt;another_size&gt; type to this class</p>
<p>it doesn't return a carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00840">840</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;    {</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(p);</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae5c09bcb33250132d588b3229afc2a6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5c09bcb33250132d588b3229afc2a6b">&#9670;&nbsp;</a></span>operator=() <span class="overload">[5/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the Uint type to this class </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00851">851</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    {</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(i);</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab77191693d0adf3e4e35f61963b604da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab77191693d0adf3e4e35f61963b604da">&#9670;&nbsp;</a></span>operator=() <span class="overload">[6/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts 32 bit unsigned int type to this class this operator is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01025">1025</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;    {</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;        <a class="code" href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">FromUInt</a>(i);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_afa430b83b581bc863949facde3165103"><div class="ttname"><a href="classttmath_1_1_int.html#afa430b83b581bc863949facde3165103">ttmath::Int::FromUInt</a></div><div class="ttdeci">uint FromUInt(const UInt&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00724">ttmathint.h:724</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa0bd51c3a334a57600ee89444b2275c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0bd51c3a334a57600ee89444b2275c8">&#9670;&nbsp;</a></span>operator=() <span class="overload">[7/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">signed int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts 32 bit signed int type to this class this operator is created only on a 64bit platform*** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01047">1047</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">FromInt</a>(i);</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a9114adb3f73a64079005a5deaaf08d8f"><div class="ttname"><a href="classttmath_1_1_int.html#a9114adb3f73a64079005a5deaaf08d8f">ttmath::Int::FromInt</a></div><div class="ttdeci">uint FromInt(const Int&lt; argument_size &gt; &amp;p)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00697">ttmathint.h:697</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa87d03750b606574ee04607c759520a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa87d03750b606574ee04607c759520a8">&#9670;&nbsp;</a></span>operator=() <span class="overload">[8/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts a string into its value (with base = 10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01481">1481</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;    {</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>(s);</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0c870ff0c02733d1cd0ffffa23607225"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c870ff0c02733d1cd0ffffa23607225">&#9670;&nbsp;</a></span>operator=() <span class="overload">[9/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts a string into its value (with base = 10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01505">1505</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;    {</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>(s);</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3b0955c963d46a2995a2edab0df4f08e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b0955c963d46a2995a2edab0df4f08e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[10/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts a string into its value (with base = 10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01516">1516</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;    {</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str() );</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0a64e3817561f888f49c2c7e3ce6d895"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a64e3817561f888f49c2c7e3ce6d895">&#9670;&nbsp;</a></span>operator=() <span class="overload">[11/11]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt;value_size&gt;&amp; <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this operator converts a string into its value (with base = 10) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01529">1529</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;    {</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">FromString</a>( s.c_str() );</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a650f84b24d9283af60c1c1127772af2c"><div class="ttname"><a href="classttmath_1_1_int.html#a650f84b24d9283af60c1c1127772af2c">ttmath::Int::FromString</a></div><div class="ttdeci">uint FromString(const char *s, uint b=10, const char **after_source=0, bool *value_read=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l01453">ttmathint.h:1453</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af40d35b5098fbd5c729250fc817c6f56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af40d35b5098fbd5c729250fc817c6f56">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>methods for comparing </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01545">1545</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;    {</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        <span class="keywordflow">return</span> UInt&lt;value_size&gt;::operator==(l);</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a6df99ac1de1ee50cfb572d7572da8dc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6df99ac1de1ee50cfb572d7572da8dc6">&#9670;&nbsp;</a></span>operator~()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt;value_size&gt; <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::operator~ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>bitwise operators </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03895">3895</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03896"></a><span class="lineno"> 3896</span>&#160;    {</div><div class="line"><a name="l03897"></a><span class="lineno"> 3897</span>&#160;        UInt&lt;value_size&gt; temp( *<span class="keyword">this</span> );</div><div class="line"><a name="l03898"></a><span class="lineno"> 3898</span>&#160;</div><div class="line"><a name="l03899"></a><span class="lineno"> 3899</span>&#160;        temp.BitNot();</div><div class="line"><a name="l03900"></a><span class="lineno"> 3900</span>&#160;</div><div class="line"><a name="l03901"></a><span class="lineno"> 3901</span>&#160;    <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l03902"></a><span class="lineno"> 3902</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a6e523cc29589e77186b02236aa3538de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e523cc29589e77186b02236aa3538de">&#9670;&nbsp;</a></span>Pow() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Pow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt;&#160;</td>
          <td class="paramname"><em>pow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>power this = this ^ pow</p>
<p>return values:</p><ul>
<li>0 - ok</li>
<li>1 - carry</li>
<li>2 - incorrect arguments 0^0 or 0^(-something) </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00608">608</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    {</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        <span class="keywordflow">if</span>( !pow.IsSign() )</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;            <span class="keywordflow">return</span> Pow2(pow);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">UInt&lt;value_size&gt;::IsZero</a>() )</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;            <span class="comment">// if &#39;pow&#39; is negative then</span></div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            <span class="comment">// &#39;this&#39; must be different from zero</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;        <span class="keywordflow">if</span>( pow.ChangeSign() )</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        Int&lt;value_size&gt; t(*<span class="keyword">this</span>);</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c_temp = t.Pow2(pow);</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <span class="keywordflow">if</span>( c_temp &gt; 0 )</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            <span class="keywordflow">return</span> c_temp;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aa857e4036b8a726c70c51ff088080acb">UInt&lt;value_size&gt;::SetOne</a>();</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_int.html#a2bc659d2f8aa94cf17ee5650d06119f2">Div</a>(t) )</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_a2bc659d2f8aa94cf17ee5650d06119f2"><div class="ttname"><a href="classttmath_1_1_int.html#a2bc659d2f8aa94cf17ee5650d06119f2">ttmath::Int::Div</a></div><div class="ttdeci">uint Div(Int&lt; value_size &gt; ss2, Int&lt; value_size &gt; *remainder=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00480">ttmathint.h:480</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aa857e4036b8a726c70c51ff088080acb"><div class="ttname"><a href="classttmath_1_1_u_int.html#aa857e4036b8a726c70c51ff088080acb">ttmath::UInt::SetOne</a></div><div class="ttdeci">void SetOne()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00202">ttmathuint.h:202</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ac7e4c950e2abeda28e58a35725d37ef7"><div class="ttname"><a href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">ttmath::UInt::IsZero</a></div><div class="ttdeci">bool IsZero() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02605">ttmathuint.h:2605</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afdbaf5bd46ab8035c1d6983c761302d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdbaf5bd46ab8035c1d6983c761302d2">&#9670;&nbsp;</a></span>Pow() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Pow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt;&#160;</td>
          <td class="paramname"><em>pow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>power this = this ^ pow binary algorithm (r-to-l)</p>
<p>return values:</p><ul>
<li>0 - ok</li>
<li>1 - carry</li>
<li>2 - incorrect argument (0^0) </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02425">2425</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;    {</div><div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160;        <span class="keywordflow">if</span>(pow.IsZero() &amp;&amp; <a class="code" href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">IsZero</a>())</div><div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;            <span class="comment">// we don&#39;t define zero^zero</span></div><div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;            <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160;</div><div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;        UInt&lt;value_size&gt; start(*<span class="keyword">this</span>);</div><div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160;        UInt&lt;value_size&gt; result;</div><div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;        result.SetOne();</div><div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = 0;</div><div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;</div><div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;        <span class="keywordflow">while</span>( !c )</div><div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;        {</div><div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;            <span class="keywordflow">if</span>( pow.table[0] &amp; 1 )</div><div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;                c += result.Mul(start);</div><div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;</div><div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160;            pow.Rcr2_one(0);</div><div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;            <span class="keywordflow">if</span>( pow.IsZero() )</div><div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160;</div><div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;            c += start.Mul(start);</div><div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;        }</div><div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160;</div><div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;        *<span class="keyword">this</span> = result;</div><div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;</div><div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Pow(UInt&lt;&gt;)&quot;</span>, c)</div><div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160;</div><div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160;    <span class="keywordflow">return</span> (c==0)? 0 : 1;</div><div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_ac7e4c950e2abeda28e58a35725d37ef7"><div class="ttname"><a href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">ttmath::UInt::IsZero</a></div><div class="ttdeci">bool IsZero() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02605">ttmathuint.h:2605</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a6ca522d3e99c95b3b2fcbf88f20492c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ca522d3e99c95b3b2fcbf88f20492c5">&#9670;&nbsp;</a></span>PrintLog() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class char_type , class ostream_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::PrintLog </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream_type &amp;&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is used when macro TTMATH_DEBUG_LOG is defined </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00159">159</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">PrintVectorLog</a>(msg, output, <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>, value_size);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aa05536ad0b4ff594bb3f6b9afc7aa3d8"><div class="ttname"><a href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">ttmath::UInt::PrintVectorLog</a></div><div class="ttdeci">static void PrintVectorLog(const char_type *msg, ostream_type &amp;output, const uint *vector, uint vector_len)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00135">ttmathuint.h:135</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af5e0b513b13034023e4d2d68c033b8be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5e0b513b13034023e4d2d68c033b8be">&#9670;&nbsp;</a></span>PrintLog() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class char_type , class ostream_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::PrintLog </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>carry</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream_type &amp;&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is used when macro TTMATH_DEBUG_LOG is defined </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00169">169</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    {</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">PrintVectorLog</a>(msg, output, <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>, value_size);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        output &lt;&lt; <span class="stringliteral">&quot; carry: &quot;</span> &lt;&lt; carry &lt;&lt; std::endl;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aa05536ad0b4ff594bb3f6b9afc7aa3d8"><div class="ttname"><a href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">ttmath::UInt::PrintVectorLog</a></div><div class="ttdeci">static void PrintVectorLog(const char_type *msg, ostream_type &amp;output, const uint *vector, uint vector_len)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00135">ttmathuint.h:135</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a230d0a0fe82951e2c73d93d87a03652d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a230d0a0fe82951e2c73d93d87a03652d">&#9670;&nbsp;</a></span>PrintTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class ostream_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::PrintTable </td>
          <td>(</td>
          <td class="paramtype">ostream_type &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>some methods used for debugging purposes</p>
<p>this method is only for debugging purposes or when we want to make a table of a variable (constant) in <a class="el" href="ttmathbig_8h.html" title="A Class for representing floating point numbers.">ttmathbig.h</a></p>
<p>it prints the table in a nice form of several columns </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00097">97</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="comment">// how many columns there&#39;ll be</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> columns = 8;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordtype">int</span> c = 1;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=value_size-1 ; i&gt;=0 ; --i)</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        {</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;            output &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; std::setfill(<span class="charliteral">&#39;0&#39;</span>);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;            </div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">            #ifdef TTMATH_PLATFORM32</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                output &lt;&lt; std::setw(8);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">            #else</span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                output &lt;&lt; std::setw(16);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">            #endif</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                </div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;            output &lt;&lt; std::hex &lt;&lt; <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i];</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;            </div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;            <span class="keywordflow">if</span>( i&gt;0 )</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;            {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                output &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;     </div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;            </div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                <span class="keywordflow">if</span>( ++c &gt; columns )</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                    output &lt;&lt; std::endl;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                    c = 1;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                }</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;            }</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        </div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        output &lt;&lt; std::dec &lt;&lt; std::endl;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa05536ad0b4ff594bb3f6b9afc7aa3d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa05536ad0b4ff594bb3f6b9afc7aa3d8">&#9670;&nbsp;</a></span>PrintVectorLog() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class char_type , class ostream_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::PrintVectorLog </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream_type &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>vector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>vector_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is used when macro TTMATH_DEBUG_LOG is defined </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00135">135</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    {</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        output &lt;&lt; msg &lt;&lt; std::endl;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=0 ; i&lt;vector_len ; ++i)</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            output &lt;&lt; <span class="stringliteral">&quot; table[&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;]: &quot;</span> &lt;&lt; vector[i] &lt;&lt; std::endl;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00159">ttmath::UInt&lt; man &gt;::PrintLog()</a>, and <a class="el" href="ttmathuint_8h_source.html#l00148">ttmath::UInt&lt; man &gt;::PrintVectorLog()</a>.</p>

</div>
</div>
<a id="abc701dece8f6d0e9d38310d936b2b065"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc701dece8f6d0e9d38310d936b2b065">&#9670;&nbsp;</a></span>PrintVectorLog() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class char_type , class ostream_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::PrintVectorLog </td>
          <td>(</td>
          <td class="paramtype">const char_type *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>carry</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ostream_type &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>vector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>vector_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method is used when macro TTMATH_DEBUG_LOG is defined </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00148">148</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    {</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">PrintVectorLog</a>(msg, output, vector, vector_len);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        output &lt;&lt; <span class="stringliteral">&quot; carry: &quot;</span> &lt;&lt; carry &lt;&lt; std::endl;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_aa05536ad0b4ff594bb3f6b9afc7aa3d8"><div class="ttname"><a href="classttmath_1_1_u_int.html#aa05536ad0b4ff594bb3f6b9afc7aa3d8">ttmath::UInt::PrintVectorLog</a></div><div class="ttdeci">static void PrintVectorLog(const char_type *msg, ostream_type &amp;output, const uint *vector, uint vector_len)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00135">ttmathuint.h:135</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abbcc02c03802229412f902de309bad7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbcc02c03802229412f902de309bad7d">&#9670;&nbsp;</a></span>Rcl()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Rcl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>c</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>moving all bits into the left side 'bits' times return value &lt;- this &lt;- C</p>
<p>bits is from a range of &lt;0, man * TTMATH_BITS_PER_UINT&gt; or it can be even bigger then all bits will be set to 'c'</p>
<p>the value c will be set into the lowest bits and the method returns state of the last moved bit </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00460">460</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    {</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> last_c    = 0;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest_bits = bits;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        <span class="keywordflow">if</span>( bits == 0 )</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;        <span class="keywordflow">if</span>( bits &gt;= <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;            RclMoveAllWords(rest_bits, last_c, bits, c);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keywordflow">if</span>( rest_bits == 0 )</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        {</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::Rcl&quot;</span>)</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;            return last_c;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        }</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        <span class="comment">// rest_bits is from 1 to TTMATH_BITS_PER_UINT-1 now</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        if( rest_bits == 1 )</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        {</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;            last_c = Rcl2_one(c);</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        }</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>( rest_bits == 2 )</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        {</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;            <span class="comment">// performance tests showed that for rest_bits==2 it&#39;s better to use Rcl2_one twice instead of Rcl2(2,c)</span></div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;            Rcl2_one(c);</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;            last_c = Rcl2_one(c);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        }</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        {</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;            last_c = Rcl2(rest_bits, c);</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        }</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Rcl&quot;</span>, last_c)</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keywordflow">return</span> last_c;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    }</div><div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l00598">ttmath::UInt&lt; man &gt;::CompensationToLeft()</a>, and <a class="el" href="ttmathbig_8h_source.html#l05842">ttmath::Big&lt; exp, man &gt;::RemainFraction()</a>.</p>

</div>
</div>
<a id="a0f395f84b208f36a215d8b5f53400b42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f395f84b208f36a215d8b5f53400b42">&#9670;&nbsp;</a></span>Rcr()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Rcr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>c</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>moving all bits into the right side 'bits' times c -&gt; this -&gt; return value</p>
<p>bits is from a range of &lt;0, man * TTMATH_BITS_PER_UINT&gt; or it can be even bigger then all bits will be set to 'c'</p>
<p>the value c will be set into the highest bits and the method returns state of the last moved bit </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00555">555</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    {</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> last_c    = 0;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest_bits = bits;</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    </div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        <span class="keywordflow">if</span>( bits == 0 )</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        <span class="keywordflow">if</span>( bits &gt;= <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;            RcrMoveAllWords(rest_bits, last_c, bits, c);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <span class="keywordflow">if</span>( rest_bits == 0 )</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        {</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;            TTMATH_LOG(<span class="stringliteral">&quot;UInt::Rcr&quot;</span>)</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;            return last_c;</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        }</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        <span class="comment">// rest_bits is from 1 to TTMATH_BITS_PER_UINT-1 now</span></div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        if( rest_bits == 1 )</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        {</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;            last_c = Rcr2_one(c);</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        }</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span>( rest_bits == 2 )</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        {</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;            <span class="comment">// performance tests showed that for rest_bits==2 it&#39;s better to use Rcr2_one twice instead of Rcr2(2,c)</span></div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;            Rcr2_one(c);</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;            last_c = Rcr2_one(c);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;        }</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        {</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;            last_c = Rcr2(rest_bits, c);</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;        }</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Rcr&quot;</span>, last_c)</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <span class="keywordflow">return</span> last_c;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    }</div><div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01002">ttmath::Big&lt; exp, man &gt;::BitAnd()</a>, <a class="el" href="ttmathbig_8h_source.html#l01063">ttmath::Big&lt; exp, man &gt;::BitOr()</a>, <a class="el" href="ttmathbig_8h_source.html#l01123">ttmath::Big&lt; exp, man &gt;::BitXor()</a>, <a class="el" href="ttmathbig_8h_source.html#l01179">ttmath::Big&lt; exp, man &gt;::MulUInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l01584">ttmath::Big&lt; exp, man &gt;::Pow()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>.</p>

</div>
</div>
<a id="aeb19e9f7b5028360ea08dd0c6b43be85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb19e9f7b5028360ea08dd0c6b43be85">&#9670;&nbsp;</a></span>SetBit()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SetBit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bit_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>setting the 'bit_index' bit and returning the last state of the bit</p>
<p>bit_index bigger or equal zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00726">726</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    {</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;        TTMATH_ASSERT( bit_index &lt; value_size * <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> index = bit_index / <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> bit   = bit_index % <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> res   = <a class="code" href="classttmath_1_1_u_int.html#aaff1daf23f958ea1000c63e58f8a1a67">SetBitInWord</a>(<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[index], bit);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::SetBit&quot;</span>)</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    return res;</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_aaff1daf23f958ea1000c63e58f8a1a67"><div class="ttname"><a href="classttmath_1_1_u_int.html#aaff1daf23f958ea1000c63e58f8a1a67">ttmath::UInt::SetBitInWord</a></div><div class="ttdeci">static uint SetBitInWord(uint &amp;value, uint bit)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l01020">ttmathuint_x86_64.h:1020</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aaff1daf23f958ea1000c63e58f8a1a67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaff1daf23f958ea1000c63e58f8a1a67">&#9670;&nbsp;</a></span>SetBitInWord()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SetBitInWord </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method sets a special bit in the 'value' and returns the last state of the bit (zero or one)</p>
<p>this method is created only on a 64bit platform***</p>
<p>bit is from &lt;0,63&gt;</p>
<p>e.g. uint x = 100; uint bit = SetBitInWord(x, 3); now: x = 108 and bit = 0 </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l01020">1020</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    {</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;        TTMATH_ASSERT( bit &lt; <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a> )</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;        </div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> old_bit;</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> v = value;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;            old_bit = _bittestandset64((__int64*)&amp;value,bit) != 0;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;            __asm__ (</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;            <span class="stringliteral">&quot;btsq %%rbx, %%rax      \n&quot;</span></div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;            <span class="stringliteral">&quot;setc %%bl              \n&quot;</span></div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;            <span class="stringliteral">&quot;movzx %%bl, %%rbx      \n&quot;</span></div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;            </div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;            : <span class="stringliteral">&quot;=a&quot;</span> (v), <span class="stringliteral">&quot;=b&quot;</span> (old_bit)</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;            : <span class="stringliteral">&quot;0&quot;</span> (v),  <span class="stringliteral">&quot;1&quot;</span> (bit)</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;            : <span class="stringliteral">&quot;cc&quot;</span> );</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;        value = v;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    <span class="keywordflow">return</span> old_bit;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;    }</div><div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a12602f12aa9618ac8a24d151b9cea650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12602f12aa9618ac8a24d151b9cea650">&#9670;&nbsp;</a></span>SetFromTable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SetFromTable </td>
          <td>(</td>
          <td class="paramtype">const unsigned int *&#160;</td>
          <td class="paramname"><em>temp_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>temp_table_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method copies the value stored in an another table (warning: first values in temp_table are the highest words &ndash; it's different from our table)</p>
<p>this method is created only on a 64bit platform***</p>
<p>we copy as many words as it is possible</p>
<p>if temp_table_len is bigger than value_size we'll try to round the lowest word from table depending on the last not used bit in temp_table (this rounding isn't a perfect rounding &ndash; look at the description below)</p>
<p>and if temp_table_len is smaller than value_size we'll clear the rest words in the table</p>
<p>warning: we're using 'temp_table' as a pointer at 32bit words </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00325">325</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    {</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> temp_table_index = 0;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> i; <span class="comment">// &#39;i&#39; with a sign</span></div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <span class="keywordflow">for</span>(i=value_size-1 ; i&gt;=0 &amp;&amp; temp_table_index&lt;temp_table_len; --i, ++temp_table_index)</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        {</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>(temp_table[ temp_table_index ]) &lt;&lt; 32;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;            ++temp_table_index;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;            <span class="keywordflow">if</span>( temp_table_index&lt;temp_table_len )</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] |= temp_table[ temp_table_index ];</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        }</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="comment">// rounding mantissa</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="keywordflow">if</span>( temp_table_index &lt; temp_table_len )</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        {</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;            <span class="keywordflow">if</span>( (temp_table[temp_table_index] &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>) != 0 )</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            {</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                <span class="comment">/*</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="comment">                    very simply rounding</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="comment">                    if the bit from not used last word from temp_table is set to one</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="comment">                    we&#39;re rouding the lowest word in the table</span></div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="comment">                    in fact there should be a normal addition but</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="comment">                    we don&#39;t use Add() or AddTwoInts() because these methods </span></div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="comment">                    can set a carry and then there&#39;ll be a small problem</span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="comment">                    for optimization</span></div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="comment">                */</span></div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0] != <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a> )</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                    ++<a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0];</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;            }</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        }</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <span class="comment">// cleaning the rest of the mantissa</span></div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        <span class="keywordflow">for</span>( ; i &gt;= 0 ; --i)</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = 0;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::SetFromTable&quot;</span>)</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00433">ttmath::Big&lt; exp, man &gt;::SetE()</a>, <a class="el" href="ttmathbig_8h_source.html#l00558">ttmath::Big&lt; exp, man &gt;::SetLn10()</a>, and <a class="el" href="ttmathbig_8h_source.html#l00490">ttmath::Big&lt; exp, man &gt;::SetLn2()</a>.</p>

</div>
</div>
<a id="a5969b824a40d631c318dd027755028fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5969b824a40d631c318dd027755028fd">&#9670;&nbsp;</a></span>SetMax()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SetMax </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets the max value which this class can hold (all bits will be one besides the last one) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00071">71</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    {</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a7fdeb0ac1b5fdd397f03fcfc9080488d">UInt&lt;value_size&gt;::SetMax</a>();</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[value_size-1] = ~<a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd"> TTMATH_UINT_HIGHEST_BIT</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a7fdeb0ac1b5fdd397f03fcfc9080488d"><div class="ttname"><a href="classttmath_1_1_u_int.html#a7fdeb0ac1b5fdd397f03fcfc9080488d">ttmath::UInt::SetMax</a></div><div class="ttdeci">void SetMax()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00215">ttmathuint.h:215</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00618">ttmath::Big&lt; exp, man &gt;::SetMax()</a>, and <a class="el" href="ttmathbig_8h_source.html#l00632">ttmath::Big&lt; exp, man &gt;::SetMin()</a>.</p>

</div>
</div>
<a id="a0bc5aa68e8e8eb44085d2c1ff98aad82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bc5aa68e8e8eb44085d2c1ff98aad82">&#9670;&nbsp;</a></span>SetMin()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SetMin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets the min value which this class can hold (all bits will be zero besides the last one which is one) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00082">82</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    {</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">UInt&lt;value_size&gt;::SetZero</a>();</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[value_size-1] = <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa857e4036b8a726c70c51ff088080acb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa857e4036b8a726c70c51ff088080acb">&#9670;&nbsp;</a></span>SetOne()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SetOne </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method sets one </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00202">202</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    {</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a>();</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0] = 1;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::SetOne&quot;</span>)</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00608">ttmath::Int&lt; exp &gt;::Pow()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02425">ttmath::UInt&lt; man &gt;::Pow()</a>.</p>

</div>
</div>
<a id="a9b660237a184333e26bdcb933923658a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b660237a184333e26bdcb933923658a">&#9670;&nbsp;</a></span>SetSign()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SetSign </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets the sign</p>
<p>samples</p><ul>
<li>1 -&gt; -1</li>
<li>-2 -&gt; -2</li>
</ul>
<p>from a positive value we make a negative value, if the value is negative we do nothing </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00141">141</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    {</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>() )</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <a class="code" href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ChangeSign</a>();</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_a1459d8f91899c87e26a59ccbf9ed3f00"><div class="ttname"><a href="classttmath_1_1_int.html#a1459d8f91899c87e26a59ccbf9ed3f00">ttmath::Int::ChangeSign</a></div><div class="ttdeci">uint ChangeSign()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00105">ttmathint.h:105</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00480">ttmath::Int&lt; exp &gt;::Div()</a>, <a class="el" href="ttmathint_8h_source.html#l00524">ttmath::Int&lt; exp &gt;::DivInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00440">ttmath::Int&lt; exp &gt;::Mul()</a>, and <a class="el" href="ttmathint_8h_source.html#l00398">ttmath::Int&lt; exp &gt;::MulInt()</a>.</p>

</div>
</div>
<a id="ac6b9785610e95320f3843025804d195b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6b9785610e95320f3843025804d195b">&#9670;&nbsp;</a></span>SetSignOne()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SetSignOne </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method sets -1 as the value (-1 is equal the max value in an unsigned type) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00093">93</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a7fdeb0ac1b5fdd397f03fcfc9080488d">UInt&lt;value_size&gt;::SetMax</a>();</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a7fdeb0ac1b5fdd397f03fcfc9080488d"><div class="ttname"><a href="classttmath_1_1_u_int.html#a7fdeb0ac1b5fdd397f03fcfc9080488d">ttmath::UInt::SetMax</a></div><div class="ttdeci">void SetMax()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00215">ttmathuint.h:215</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab2086439211b3fbc02eb998b328483ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2086439211b3fbc02eb998b328483ea">&#9670;&nbsp;</a></span>SetZero()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SetZero </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method sets zero </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00188">188</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        <span class="comment">// in the future here can be &#39;memset&#39;</span></div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = 0;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::SetZero&quot;</span>)</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00105">ttmath::Int&lt; exp &gt;::ChangeSign()</a>, <a class="el" href="ttmathuint_8h_source.html#l02508">ttmath::UInt&lt; man &gt;::ClearFirstBits()</a>, <a class="el" href="ttmathbig_8h_source.html#l01966">ttmath::Big&lt; exp, man &gt;::Exp()</a>, <a class="el" href="ttmathuint_8h_source.html#l01510">ttmath::UInt&lt; man &gt;::MulFastestBig()</a>, <a class="el" href="ttmathuint_8h_source.html#l00835">ttmath::UInt&lt; man &gt;::MulInt()</a>, <a class="el" href="ttmathint_8h_source.html#l00082">ttmath::Int&lt; exp &gt;::SetMin()</a>, <a class="el" href="ttmathuint_8h_source.html#l00228">ttmath::UInt&lt; man &gt;::SetMin()</a>, <a class="el" href="ttmathuint_8h_source.html#l00202">ttmath::UInt&lt; man &gt;::SetOne()</a>, <a class="el" href="ttmathbig_8h_source.html#l00271">ttmath::Big&lt; exp, man &gt;::SetOne()</a>, <a class="el" href="ttmathbig_8h_source.html#l00256">ttmath::Big&lt; exp, man &gt;::SetZero()</a>, and <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>.</p>

</div>
</div>
<a id="a76625f22f97d1723685966cb6b3d3ffa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76625f22f97d1723685966cb6b3d3ffa">&#9670;&nbsp;</a></span>Size()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns the size of the table </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00179">179</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordflow">return</span> value_size;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="af3235637450aac9a4b0f9e05ce69f386"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3235637450aac9a4b0f9e05ce69f386">&#9670;&nbsp;</a></span>Sqrt()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Sqrt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>square root e.g. Sqrt(9) = 3 ('digit-by-digit' algorithm) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l02461">2461</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160;    {</div><div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;    UInt&lt;value_size&gt; bit, temp;</div><div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;</div><div class="line"><a name="l02465"></a><span class="lineno"> 2465</span>&#160;        <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">IsZero</a>() )</div><div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160;</div><div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;        UInt&lt;value_size&gt; value(*<span class="keyword">this</span>);</div><div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;</div><div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">SetZero</a>();</div><div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;        bit.SetZero();</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;        bit.table[value_size-1] = (<a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a> &gt;&gt; 1);</div><div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;        </div><div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;        <span class="keywordflow">while</span>( bit &gt; value )</div><div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;            bit.Rcr(2);</div><div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;</div><div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160;        <span class="keywordflow">while</span>( !bit.IsZero() )</div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;        {</div><div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;            temp = *<span class="keyword">this</span>;</div><div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160;            temp.Add(bit);</div><div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;</div><div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;            <span class="keywordflow">if</span>( value &gt;= temp )</div><div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;            {</div><div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;                value.Sub(temp);</div><div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a0f395f84b208f36a215d8b5f53400b42">Rcr</a>(1);</div><div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#af69f4f1a71948175abc653a82a728665">Add</a>(bit);</div><div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;            }</div><div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;            {</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;                <a class="code" href="classttmath_1_1_u_int.html#a0f395f84b208f36a215d8b5f53400b42">Rcr</a>(1);</div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;            }</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;</div><div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;            bit.Rcr(2);</div><div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;        }</div><div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;</div><div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160;        TTMATH_LOG(<span class="stringliteral">&quot;UInt::Sqrt&quot;</span>)</div><div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_af69f4f1a71948175abc653a82a728665"><div class="ttname"><a href="classttmath_1_1_u_int.html#af69f4f1a71948175abc653a82a728665">ttmath::UInt::Add</a></div><div class="ttdeci">uint Add(const UInt&lt; value_size &gt; &amp;ss2, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00158">ttmathuint_x86_64.h:158</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ab2086439211b3fbc02eb998b328483ea"><div class="ttname"><a href="classttmath_1_1_u_int.html#ab2086439211b3fbc02eb998b328483ea">ttmath::UInt::SetZero</a></div><div class="ttdeci">void SetZero()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00188">ttmathuint.h:188</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a0f395f84b208f36a215d8b5f53400b42"><div class="ttname"><a href="classttmath_1_1_u_int.html#a0f395f84b208f36a215d8b5f53400b42">ttmath::UInt::Rcr</a></div><div class="ttdeci">uint Rcr(uint bits, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00555">ttmathuint.h:555</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ac7e4c950e2abeda28e58a35725d37ef7"><div class="ttname"><a href="classttmath_1_1_u_int.html#ac7e4c950e2abeda28e58a35725d37ef7">ttmath::UInt::IsZero</a></div><div class="ttdeci">bool IsZero() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l02605">ttmathuint.h:2605</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af8e3e13a842ecee73415e2c14818063f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e3e13a842ecee73415e2c14818063f">&#9670;&nbsp;</a></span>Sub() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::Sub </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method subtracts two values with a sign</p>
<p>we don't use the previous Add because the method ChangeSign can sometimes return carry</p>
<p>this = p1(=this) - p2</p>
<ul>
<li>when p1&gt;=0 i p2&gt;=0 carry will never be set</li>
<li>when p1&lt;0 i p2&lt;0 carry will never be set</li>
<li>when p1&gt;=0 i p2&lt;0 carry is set when the highest bit of value is set</li>
<li>when p1&lt;0  i p2&gt;=0 carry is set when the highest bit of value is clear </li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00299">299</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    {</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <span class="keywordtype">bool</span> p2_is_sign = ss2.IsSign();</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#a62de1450c61299cdbbda5632b85386c8">UInt&lt;value_size&gt;::Sub</a>(ss2);     </div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterSubtracting(p1_is_sign, p2_is_sign);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a62de1450c61299cdbbda5632b85386c8"><div class="ttname"><a href="classttmath_1_1_u_int.html#a62de1450c61299cdbbda5632b85386c8">ttmath::UInt::Sub</a></div><div class="ttdeci">uint Sub(const UInt&lt; value_size &gt; &amp;ss2, uint c=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00460">ttmathuint_x86_64.h:460</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00930">ttmath::Big&lt; exp, man &gt;::Add()</a>, <a class="el" href="ttmathbig_8h_source.html#l01002">ttmath::Big&lt; exp, man &gt;::BitAnd()</a>, <a class="el" href="ttmathbig_8h_source.html#l01063">ttmath::Big&lt; exp, man &gt;::BitOr()</a>, <a class="el" href="ttmathbig_8h_source.html#l01123">ttmath::Big&lt; exp, man &gt;::BitXor()</a>, <a class="el" href="ttmathbig_8h_source.html#l05842">ttmath::Big&lt; exp, man &gt;::RemainFraction()</a>, and <a class="el" href="ttmathbig_8h_source.html#l00173">ttmath::Big&lt; exp, man &gt;::Standardizing()</a>.</p>

</div>
</div>
<a id="a62de1450c61299cdbbda5632b85386c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62de1450c61299cdbbda5632b85386c8">&#9670;&nbsp;</a></span>Sub() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Sub </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>c</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method's subtracting ss2 from the 'this' and subtracting carry if it has been defined (this = this - ss2 - c)</p>
<p>this method is created only on a 64bit platform***</p>
<p>c must be zero or one (might be a bigger value than 1) function returns carry (1) (if it was) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00460">460</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    {</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> b = value_size;</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> * p1 = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> * p2 = ss2.table;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    </div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="comment">// we don&#39;t have to use TTMATH_REFERENCE_ASSERT here</span></div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="comment">// this algorithm doesn&#39;t require it</span></div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;            c = ttmath_sbb_x64(p1,p2,b,c);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> dummy, dummy2;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;            __asm__  __volatile__(</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    </div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                <span class="stringliteral">&quot;xorq %%rdx, %%rdx              \n&quot;</span></div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;                <span class="stringliteral">&quot;negq %%rax                     \n&quot;</span>     <span class="comment">// CF=1 if rax!=0 , CF=0 if rax==0</span></div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;            <span class="stringliteral">&quot;1:                                 \n&quot;</span></div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                <span class="stringliteral">&quot;movq (%%rsi,%%rdx,8), %%rax    \n&quot;</span></div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                <span class="stringliteral">&quot;sbbq %%rax, (%%rbx,%%rdx,8)    \n&quot;</span></div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;            </div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;                <span class="stringliteral">&quot;incq %%rdx                     \n&quot;</span></div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;                <span class="stringliteral">&quot;decq %%rcx                     \n&quot;</span></div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;            <span class="stringliteral">&quot;jnz 1b                             \n&quot;</span></div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;                <span class="stringliteral">&quot;adcq %%rcx, %%rcx              \n&quot;</span></div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;                : <span class="stringliteral">&quot;=c&quot;</span> (c), <span class="stringliteral">&quot;=a&quot;</span> (dummy), <span class="stringliteral">&quot;=d&quot;</span> (dummy2)</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;                : <span class="stringliteral">&quot;0&quot;</span> (b),  <span class="stringliteral">&quot;1&quot;</span> (c), <span class="stringliteral">&quot;b&quot;</span> (p1), <span class="stringliteral">&quot;S&quot;</span> (p2)</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;                : <span class="stringliteral">&quot;cc&quot;</span>, <span class="stringliteral">&quot;memory&quot;</span> );</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        TTMATH_LOGC(<span class="stringliteral">&quot;UInt::Sub&quot;</span>, c)</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l00105">ttmath::Int&lt; exp &gt;::ChangeSign()</a>, <a class="el" href="ttmathuint_8h_source.html#l03755">ttmath::UInt&lt; man &gt;::operator-()</a>, <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>, and <a class="el" href="ttmathint_8h_source.html#l00299">ttmath::Int&lt; exp &gt;::Sub()</a>.</p>

</div>
</div>
<a id="a9d5f89116e1ea6c624978e7905823a80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d5f89116e1ea6c624978e7905823a80">&#9670;&nbsp;</a></span>SubInt()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SubInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>index</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method subtracts one <em>unsigned</em> word (at a specific position) and returns a carry (if it was) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00314">314</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    {</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#abe3a0a22636f905e536aaacf960d962b">UInt&lt;value_size&gt;::SubInt</a>(value, index);     </div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterSubtracting(p1_is_sign, <span class="keyword">false</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_abe3a0a22636f905e536aaacf960d962b"><div class="ttname"><a href="classttmath_1_1_u_int.html#abe3a0a22636f905e536aaacf960d962b">ttmath::UInt::SubInt</a></div><div class="ttdeci">uint SubInt(uint value, uint index=0)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint__x86__64_8h_source.html#l00530">ttmathuint_x86_64.h:530</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l02240">ttmath::Big&lt; exp, man &gt;::FromBig()</a>.</p>

</div>
</div>
<a id="ab46339e71ac07f2c8717fcfb3e6f20e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab46339e71ac07f2c8717fcfb3e6f20e7">&#9670;&nbsp;</a></span>SubOne()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::SubOne </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method subtracts one from the value and returns carry </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l00340">340</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    {</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="keywordtype">bool</span> p1_is_sign = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>();</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <a class="code" href="classttmath_1_1_u_int.html#afd3f1dc2508a6625f0a5906779e58d00">UInt&lt;value_size&gt;::SubOne</a>();     </div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordflow">return</span> CorrectCarryAfterSubtracting(p1_is_sign, <span class="keyword">false</span>);</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_afd3f1dc2508a6625f0a5906779e58d00"><div class="ttname"><a href="classttmath_1_1_u_int.html#afd3f1dc2508a6625f0a5906779e58d00">ttmath::UInt::SubOne</a></div><div class="ttdeci">uint SubOne()</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00395">ttmathuint.h:395</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01675">ttmath::Big&lt; exp, man &gt;::PowUInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l00285">ttmath::Big&lt; exp, man &gt;::Set05()</a>, and <a class="el" href="ttmathbig_8h_source.html#l01835">ttmath::Big&lt; exp, man &gt;::Sqrt()</a>.</p>

</div>
</div>
<a id="a3a6ae874a0cf32e0e21a34b9f64feda8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a6ae874a0cf32e0e21a34b9f64feda8">&#9670;&nbsp;</a></span>SubVector()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::SubVector </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>ss1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>ss2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss1_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>ss2_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> *&#160;</td>
          <td class="paramname"><em>result</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this static method subtractes one vector from the other 'ss1' is larger in size or equal to 'ss2'</p>
<ul>
<li>ss1 points to the first (larger) vector</li>
<li>ss2 points to the second vector</li>
<li>ss1_size - size of the ss1 (and size of the result too)</li>
<li>ss2_size - size of the ss2</li>
<li><p class="startli">result - is the result vector (which has size the same as ss1: ss1_size)</p>
<p class="startli">Example: ss1_size is 5, ss2_size is 3 ss1: ss2: result (output): 5 1 5-1 4 3 4-3 2 7 2-7 6 6-1 (the borrow from previous item) 9 9 return (carry): 0 of course the carry (borrow) is propagated and will be returned from the last item (this method is used by the Karatsuba multiplication algorithm) </p>
</li>
</ul>

<p class="definition">Definition at line <a class="el" href="ttmathuint__x86__64_8h_source.html#l00597">597</a> of file <a class="el" href="ttmathuint__x86__64_8h_source.html">ttmathuint_x86_64.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    {</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        TTMATH_ASSERT( ss1_size &gt;= ss2_size )</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor">        #ifndef __GNUC__</span></div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;            c = ttmath_subvector_x64(ss1, ss2, ss1_size, ss2_size, result);</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">        #ifdef __GNUC__</span></div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        </div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        <span class="comment">//  the asm code is nearly the same as in AddVector</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <span class="comment">//  only two instructions &#39;adc&#39; are changed to &#39;sbb&#39;</span></div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;        </div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> dummy1, dummy2, dummy3;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest = ss1_size - ss2_size;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            __asm__ __volatile__(</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;                <span class="stringliteral">&quot;mov %%rdx, %%r8                    \n&quot;</span></div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;                <span class="stringliteral">&quot;xor %%rdx, %%rdx                   \n&quot;</span>   <span class="comment">// rdx = 0, cf = 0</span></div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            <span class="stringliteral">&quot;1:                                     \n&quot;</span></div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                <span class="stringliteral">&quot;mov (%%rsi,%%rdx,8), %%rax         \n&quot;</span></div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;                <span class="stringliteral">&quot;sbb (%%rbx,%%rdx,8), %%rax         \n&quot;</span></div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;                <span class="stringliteral">&quot;mov %%rax, (%%rdi,%%rdx,8)         \n&quot;</span></div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;                <span class="stringliteral">&quot;inc %%rdx                          \n&quot;</span></div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;                <span class="stringliteral">&quot;dec %%rcx                          \n&quot;</span></div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;            <span class="stringliteral">&quot;jnz 1b                                 \n&quot;</span></div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;                <span class="stringliteral">&quot;adc %%rcx, %%rcx                   \n&quot;</span>   <span class="comment">// rcx has the cf state</span></div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;                <span class="stringliteral">&quot;or %%r8, %%r8                      \n&quot;</span></div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;                <span class="stringliteral">&quot;jz 3f                              \n&quot;</span></div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;                </div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;                <span class="stringliteral">&quot;xor %%rbx, %%rbx                   \n&quot;</span>   <span class="comment">// ebx = 0</span></div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;                <span class="stringliteral">&quot;neg %%rcx                          \n&quot;</span>   <span class="comment">// setting cf from rcx</span></div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;                <span class="stringliteral">&quot;mov %%r8, %%rcx                    \n&quot;</span>   <span class="comment">// rcx=rest and is != 0</span></div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            <span class="stringliteral">&quot;2:                                     \n&quot;</span></div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;                <span class="stringliteral">&quot;mov (%%rsi, %%rdx, 8), %%rax       \n&quot;</span></div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;                <span class="stringliteral">&quot;sbb %%rbx, %%rax                   \n&quot;</span></div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;                <span class="stringliteral">&quot;mov %%rax, (%%rdi, %%rdx, 8)       \n&quot;</span></div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;                <span class="stringliteral">&quot;inc %%rdx                          \n&quot;</span></div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;                <span class="stringliteral">&quot;dec %%rcx                          \n&quot;</span></div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;            <span class="stringliteral">&quot;jnz 2b                                 \n&quot;</span></div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;                <span class="stringliteral">&quot;adc %%rcx, %%rcx                   \n&quot;</span></div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            <span class="stringliteral">&quot;3:                                     \n&quot;</span></div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                : <span class="stringliteral">&quot;=a&quot;</span> (dummy1), <span class="stringliteral">&quot;=b&quot;</span> (dummy2), <span class="stringliteral">&quot;=c&quot;</span> (c),       <span class="stringliteral">&quot;=d&quot;</span> (dummy3)</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                :                <span class="stringliteral">&quot;1&quot;</span> (ss2),     <span class="stringliteral">&quot;2&quot;</span> (ss2_size), <span class="stringliteral">&quot;3&quot;</span> (rest),   <span class="stringliteral">&quot;S&quot;</span> (ss1),  <span class="stringliteral">&quot;D&quot;</span> (result)</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;                : <span class="stringliteral">&quot;%r8&quot;</span>, <span class="stringliteral">&quot;cc&quot;</span>, <span class="stringliteral">&quot;memory&quot;</span> );</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="preprocessor">        #endif</span></div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        TTMATH_VECTOR_LOGC(<span class="stringliteral">&quot;UInt::SubVector&quot;</span>, c, result, ss1_size)</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    }</div><div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a47f6a6820ea8447013d8e20ae5fa0545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47f6a6820ea8447013d8e20ae5fa0545">&#9670;&nbsp;</a></span>Swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::Swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_u_int.html">UInt</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>ss2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method swappes this for an argument </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00239">239</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=0 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        {</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;            <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> temp = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i];</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;            <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[i] = ss2.table[i];</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;            ss2.table[i] = temp;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        }</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l00316">ttmath::Big&lt; exp, man &gt;::Swap()</a>.</p>

</div>
</div>
<a id="af934f141ffee622c5b19edc661d2d76f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af934f141ffee622c5b19edc661d2d76f">&#9670;&nbsp;</a></span>ToInt() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToInt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method returns the lowest value from table with a sign</p>
<p>we must be sure when we using this method whether the value will hold in an sint type or not (the rest value from table must be zero or -1) </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01132">1132</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    {</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[0] );</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathbig_8h_source.html#l01002">ttmath::Big&lt; exp, man &gt;::BitAnd()</a>, <a class="el" href="ttmathbig_8h_source.html#l01063">ttmath::Big&lt; exp, man &gt;::BitOr()</a>, <a class="el" href="ttmathbig_8h_source.html#l01123">ttmath::Big&lt; exp, man &gt;::BitXor()</a>, <a class="el" href="ttmathbig_8h_source.html#l05883">ttmath::Big&lt; exp, man &gt;::IsInteger()</a>, <a class="el" href="ttmathbig_8h_source.html#l01559">ttmath::Big&lt; exp, man &gt;::Mod2()</a>, <a class="el" href="ttmathbig_8h_source.html#l05842">ttmath::Big&lt; exp, man &gt;::RemainFraction()</a>, <a class="el" href="ttmathbig_8h_source.html#l05808">ttmath::Big&lt; exp, man &gt;::SkipFraction()</a>, and <a class="el" href="ttmathbig_8h_source.html#l02979">ttmath::Big&lt; exp, man &gt;::ToDouble()</a>.</p>

</div>
</div>
<a id="a35172ee73aaced6217e8b4d810e2740f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35172ee73aaced6217e8b4d810e2740f">&#9670;&nbsp;</a></span>ToInt() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to uint type can return a carry if the value is too long to store it in uint type </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01157">1157</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;    {</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ToUInt</a>(result);</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a403da6805149cdfb8a69f39a15cdf505"><div class="ttname"><a href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ttmath::UInt::ToUInt</a></div><div class="ttdeci">uint ToUInt() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03103">ttmathuint.h:3103</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afa1f91d9ea63967a4bff0e664a9165b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa1f91d9ea63967a4bff0e664a9165b9">&#9670;&nbsp;</a></span>ToInt() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a> &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to sint type can return a carry if the value is too long to store it in sint type </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01167">1167</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;    {</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;        result = <a class="code" href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">sint</a>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[0] );</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> mask = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>() ? <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a> : 0;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;        <span class="keywordflow">if</span>( (result &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>) != (mask &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>) )</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=1 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[i] != mask )</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;                <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="namespacettmath_html_a4b0a5dcba29a2c7a0abc8b4403a25ac4"><div class="ttname"><a href="namespacettmath.html#a4b0a5dcba29a2c7a0abc8b4403a25ac4">ttmath::sint</a></div><div class="ttdeci">int64_t sint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00243">ttmathtypes.h:243</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a686899d8409f63a303f9ef4f1c2d747c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a686899d8409f63a303f9ef4f1c2d747c">&#9670;&nbsp;</a></span>ToInt() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToInt </td>
          <td>(</td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a 32 bit unsigned integer can return a carry if the value is too long to store it in this type this method is created only on a 64 bit platform *** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01274">1274</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;    {</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ToUInt</a>(result);</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a403da6805149cdfb8a69f39a15cdf505"><div class="ttname"><a href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ttmath::UInt::ToUInt</a></div><div class="ttdeci">uint ToUInt() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03103">ttmathuint.h:3103</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4039277e53b97ae96718ec5758bc1c52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4039277e53b97ae96718ec5758bc1c52">&#9670;&nbsp;</a></span>ToInt() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToInt </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a 32 bit signed integer can return a carry if the value is too long to store it in this type this method is created only on a 64 bit platform *** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01285">1285</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    {</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> first = <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[0];</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;        result = int(first);</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> mask = <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>() ? <a class="code" href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a> : 0;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;    </div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;        <span class="keywordflow">if</span>( (first &gt;&gt; 31) != (mask &gt;&gt; 31) )</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;        <span class="keywordflow">for</span>(<a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> i=1 ; i&lt;value_size ; ++i)</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;            <span class="keywordflow">if</span>( <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">UInt&lt;value_size&gt;::table</a>[i] != mask )</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;                <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_a3af4b841f70a529a150c820780e1eb40"><div class="ttname"><a href="ttmathtypes_8h.html#a3af4b841f70a529a150c820780e1eb40">TTMATH_UINT_MAX_VALUE</a></div><div class="ttdeci">#define TTMATH_UINT_MAX_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00264">ttmathtypes.h:264</a></div></div>
<div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1a66925d9072d8822db12ecb6e05727c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a66925d9072d8822db12ecb6e05727c">&#9670;&nbsp;</a></span>ToString() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToString </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a string with a base equal 'b' </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01332">1332</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;    {</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;        <span class="keywordflow">return</span> ToStringBase(result, b);</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a66f05e64f49505e7f16130883765ce7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66f05e64f49505e7f16130883765ce7a">&#9670;&nbsp;</a></span>ToString() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a string with a base equal 'b' </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01341">1341</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;    {</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;        std::string result;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;        ToStringBase(result, b);</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a08a1be509e91e5489eb7c00cebfa60aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08a1be509e91e5489eb7c00cebfa60aa">&#9670;&nbsp;</a></span>ToString() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToString </td>
          <td>(</td>
          <td class="paramtype">std::wstring &amp;&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a string with a base equal 'b' </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01355">1355</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;    {</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;        <span class="keywordflow">return</span> ToStringBase(result, b);</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a08ef836b2bbcc7acaad88ea4284332d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08ef836b2bbcc7acaad88ea4284332d5">&#9670;&nbsp;</a></span>ToStringBase()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<div class="memtemplate">
template&lt;class string_type &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::ToStringBase </td>
          <td>(</td>
          <td class="paramtype">string_type &amp;&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>negative</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an auxiliary method for converting to a string it's used from <a class="el" href="classttmath_1_1_int.html#a1a66925d9072d8822db12ecb6e05727c">Int::ToString()</a> too (negative is set true then) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03316">3316</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160;    {</div><div class="line"><a name="l03318"></a><span class="lineno"> 3318</span>&#160;    UInt&lt;value_size&gt; temp(*<span class="keyword">this</span>);</div><div class="line"><a name="l03319"></a><span class="lineno"> 3319</span>&#160;    <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> rest, table_id, index, digits;</div><div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160;    <span class="keywordtype">double</span> digits_d;</div><div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160;    <span class="keywordtype">char</span> character;</div><div class="line"><a name="l03322"></a><span class="lineno"> 3322</span>&#160;</div><div class="line"><a name="l03323"></a><span class="lineno"> 3323</span>&#160;        result.clear();</div><div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160;</div><div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160;        <span class="keywordflow">if</span>( b&lt;2 || b&gt;16 )</div><div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160;</div><div class="line"><a name="l03328"></a><span class="lineno"> 3328</span>&#160;        <span class="keywordflow">if</span>( !<a class="code" href="classttmath_1_1_u_int.html#ad1639273f7e78c737e532d0375b4b1e9">FindLeadingBit</a>(table_id, index) )</div><div class="line"><a name="l03329"></a><span class="lineno"> 3329</span>&#160;        {</div><div class="line"><a name="l03330"></a><span class="lineno"> 3330</span>&#160;            result = <span class="charliteral">&#39;0&#39;</span>;</div><div class="line"><a name="l03331"></a><span class="lineno"> 3331</span>&#160;            <span class="keywordflow">return</span>;</div><div class="line"><a name="l03332"></a><span class="lineno"> 3332</span>&#160;        }</div><div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160;</div><div class="line"><a name="l03334"></a><span class="lineno"> 3334</span>&#160;        <span class="keywordflow">if</span>( negative )</div><div class="line"><a name="l03335"></a><span class="lineno"> 3335</span>&#160;            result = <span class="charliteral">&#39;-&#39;</span>;</div><div class="line"><a name="l03336"></a><span class="lineno"> 3336</span>&#160;</div><div class="line"><a name="l03337"></a><span class="lineno"> 3337</span>&#160;        digits_d  = static_cast&lt;double&gt;(table_id); <span class="comment">// for not making an overflow in uint type</span></div><div class="line"><a name="l03338"></a><span class="lineno"> 3338</span>&#160;        digits_d *= <a class="code" href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a>;</div><div class="line"><a name="l03339"></a><span class="lineno"> 3339</span>&#160;        digits_d += index + 1;</div><div class="line"><a name="l03340"></a><span class="lineno"> 3340</span>&#160;        digits_d *= <a class="code" href="classttmath_1_1_u_int.html#a73615fefe06732d9372cf952a324fa70">ToStringLog2</a>(b);</div><div class="line"><a name="l03341"></a><span class="lineno"> 3341</span>&#160;        digits = static_cast&lt;uint&gt;(digits_d) + 3; <span class="comment">// plus some epsilon</span></div><div class="line"><a name="l03342"></a><span class="lineno"> 3342</span>&#160;</div><div class="line"><a name="l03343"></a><span class="lineno"> 3343</span>&#160;        <span class="keywordflow">if</span>( result.capacity() &lt; digits )</div><div class="line"><a name="l03344"></a><span class="lineno"> 3344</span>&#160;            result.reserve(digits);</div><div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160;</div><div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160;        <span class="keywordflow">do</span></div><div class="line"><a name="l03347"></a><span class="lineno"> 3347</span>&#160;        {</div><div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160;            temp.DivInt(b, &amp;rest);</div><div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160;            character = static_cast&lt;char&gt;(<a class="code" href="classttmath_1_1_misc.html#a93a49aa7775f27e51feccc665c537277">Misc::DigitToChar</a>(rest));</div><div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160;            result.insert(result.end(), character);</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;        }</div><div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160;        <span class="keywordflow">while</span>( !temp.IsZero() );</div><div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160;</div><div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160;        <span class="keywordtype">size_t</span> i1 = negative ? 1 : 0; <span class="comment">// the first is a hyphen (when negative is true)</span></div><div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160;        <span class="keywordtype">size_t</span> i2 = result.size() - 1;</div><div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160;</div><div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160;        <span class="keywordflow">for</span>( ; i1 &lt; i2 ; ++i1, --i2 )</div><div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160;        {</div><div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160;            <span class="keywordtype">char</span> tempc = static_cast&lt;char&gt;(result[i1]);</div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160;            result[i1] = result[i2];</div><div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160;            result[i2] = tempc;</div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160;        }</div><div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_misc_html_a93a49aa7775f27e51feccc665c537277"><div class="ttname"><a href="classttmath_1_1_misc.html#a93a49aa7775f27e51feccc665c537277">ttmath::Misc::DigitToChar</a></div><div class="ttdeci">static uint DigitToChar(uint digit)</div><div class="ttdef"><b>Definition:</b> <a href="ttmathmisc_8h_source.html#l00236">ttmathmisc.h:236</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a73615fefe06732d9372cf952a324fa70"><div class="ttname"><a href="classttmath_1_1_u_int.html#a73615fefe06732d9372cf952a324fa70">ttmath::UInt::ToStringLog2</a></div><div class="ttdeci">double ToStringLog2(uint x) const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03281">ttmathuint.h:3281</a></div></div>
<div class="ttc" id="ttmathtypes_8h_html_aef936ab7a0d7f0c34a9a794b3072cf6a"><div class="ttname"><a href="ttmathtypes_8h.html#aef936ab7a0d7f0c34a9a794b3072cf6a">TTMATH_BITS_PER_UINT</a></div><div class="ttdeci">#define TTMATH_BITS_PER_UINT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00253">ttmathtypes.h:253</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_ad1639273f7e78c737e532d0375b4b1e9"><div class="ttname"><a href="classttmath_1_1_u_int.html#ad1639273f7e78c737e532d0375b4b1e9">ttmath::UInt::FindLeadingBit</a></div><div class="ttdeci">bool FindLeadingBit(uint &amp;table_id, uint &amp;index) const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00649">ttmathuint.h:649</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l03370">ttmath::UInt&lt; man &gt;::ToString()</a>.</p>

</div>
</div>
<a id="a73615fefe06732d9372cf952a324fa70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73615fefe06732d9372cf952a324fa70">&#9670;&nbsp;</a></span>ToStringLog2()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::ToStringLog2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>an auxiliary method for converting into the string it returns the log (with the base 2) from x where x is in &lt;2;16&gt; </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03281">3281</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160;    {</div><div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">double</span> log_tab[] = {</div><div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160;            1.000000000000000000,</div><div class="line"><a name="l03285"></a><span class="lineno"> 3285</span>&#160;            0.630929753571457437,</div><div class="line"><a name="l03286"></a><span class="lineno"> 3286</span>&#160;            0.500000000000000000,</div><div class="line"><a name="l03287"></a><span class="lineno"> 3287</span>&#160;            0.430676558073393050,</div><div class="line"><a name="l03288"></a><span class="lineno"> 3288</span>&#160;            0.386852807234541586,</div><div class="line"><a name="l03289"></a><span class="lineno"> 3289</span>&#160;            0.356207187108022176,</div><div class="line"><a name="l03290"></a><span class="lineno"> 3290</span>&#160;            0.333333333333333333,</div><div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160;            0.315464876785728718,</div><div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160;            0.301029995663981195,</div><div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160;            0.289064826317887859,</div><div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160;            0.278942945651129843,</div><div class="line"><a name="l03295"></a><span class="lineno"> 3295</span>&#160;            0.270238154427319741,</div><div class="line"><a name="l03296"></a><span class="lineno"> 3296</span>&#160;            0.262649535037193547,</div><div class="line"><a name="l03297"></a><span class="lineno"> 3297</span>&#160;            0.255958024809815489,</div><div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160;            0.250000000000000000</div><div class="line"><a name="l03299"></a><span class="lineno"> 3299</span>&#160;        };</div><div class="line"><a name="l03300"></a><span class="lineno"> 3300</span>&#160;</div><div class="line"><a name="l03301"></a><span class="lineno"> 3301</span>&#160;        <span class="keywordflow">if</span>( x&lt;2 || x&gt;16 )</div><div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;            <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160;</div><div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160;    <span class="keywordflow">return</span> log_tab[x-2];</div><div class="line"><a name="l03305"></a><span class="lineno"> 3305</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathuint_8h_source.html#l03316">ttmath::UInt&lt; man &gt;::ToStringBase()</a>.</p>

</div>
</div>
<a id="a0a6edc4dbecbf07403cee43e592cba68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a6edc4dbecbf07403cee43e592cba68">&#9670;&nbsp;</a></span>ToUInt() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToUInt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to uint type can return a carry if the value is too long to store it in uint type </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01142">1142</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = <a class="code" href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">UInt&lt;value_size&gt;::ToUInt</a>(result);</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;        <span class="keywordflow">if</span>( value_size == 1 )</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;            <span class="keywordflow">return</span> (result &amp; <a class="code" href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a>) == 0 ? 0 : 1;</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;    <span class="keywordflow">return</span> c;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;    }</div><div class="ttc" id="ttmathtypes_8h_html_a0ccaf279c13b1d747ef8c4690d84b5dd"><div class="ttname"><a href="ttmathtypes_8h.html#a0ccaf279c13b1d747ef8c4690d84b5dd">TTMATH_UINT_HIGHEST_BIT</a></div><div class="ttdeci">#define TTMATH_UINT_HIGHEST_BIT</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00258">ttmathtypes.h:258</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a403da6805149cdfb8a69f39a15cdf505"><div class="ttname"><a href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ttmath::UInt::ToUInt</a></div><div class="ttdeci">uint ToUInt() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03103">ttmathuint.h:3103</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5750b494ef2a520af1fd7d9acae1acf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5750b494ef2a520af1fd7d9acae1acf2">&#9670;&nbsp;</a></span>ToUInt() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToUInt </td>
          <td>(</td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a 32 bit unsigned integer can return a carry if the value is too long to store it in this type this method is created only on a 64 bit platform *** </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01258">1258</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;    {</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;        <a class="code" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> c = <a class="code" href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">UInt&lt;value_size&gt;::ToUInt</a>(result);</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;        <span class="keywordflow">if</span>( c || <a class="code" href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">IsSign</a>() )</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;            <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_int_html_af91fdc65105f7ceb071c2a8a98d0cbfb"><div class="ttname"><a href="classttmath_1_1_int.html#af91fdc65105f7ceb071c2a8a98d0cbfb">ttmath::Int::IsSign</a></div><div class="ttdeci">bool IsSign() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathint_8h_source.html#l00156">ttmathint.h:156</a></div></div>
<div class="ttc" id="classttmath_1_1_u_int_html_a403da6805149cdfb8a69f39a15cdf505"><div class="ttname"><a href="classttmath_1_1_u_int.html#a403da6805149cdfb8a69f39a15cdf505">ttmath::UInt::ToUInt</a></div><div class="ttdeci">uint ToUInt() const</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l03103">ttmathuint.h:3103</a></div></div>
<div class="ttc" id="namespacettmath_html_a5c1fccc9761aaa3d2b6dd32c224f5dac"><div class="ttname"><a href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">ttmath::uint</a></div><div class="ttdeci">uint64_t uint</div><div class="ttdef"><b>Definition:</b> <a href="ttmathtypes_8h_source.html#l00238">ttmathtypes.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a403da6805149cdfb8a69f39a15cdf505"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a403da6805149cdfb8a69f39a15cdf505">&#9670;&nbsp;</a></span>ToUInt() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::ToUInt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this method returns the lowest value from table</p>
<p>we must be sure when we using this method whether the value will hold in an uint type or not (the rest value from the table must be zero) </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l03103">3103</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160;    {</div><div class="line"><a name="l03105"></a><span class="lineno"> 3105</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">table</a>[0];</div><div class="line"><a name="l03106"></a><span class="lineno"> 3106</span>&#160;    }</div><div class="ttc" id="classttmath_1_1_u_int_html_a54c67e2e3d1a4d6ea96e828d15c4443a"><div class="ttname"><a href="classttmath_1_1_u_int.html#a54c67e2e3d1a4d6ea96e828d15c4443a">ttmath::UInt::table</a></div><div class="ttdeci">uint table[value_size]</div><div class="ttdef"><b>Definition:</b> <a href="ttmathuint_8h_source.html#l00081">ttmathuint.h:81</a></div></div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="ttmathint_8h_source.html#l01157">ttmath::Int&lt; exp &gt;::ToInt()</a>, <a class="el" href="ttmathuint_8h_source.html#l03129">ttmath::UInt&lt; man &gt;::ToInt()</a>, and <a class="el" href="ttmathint_8h_source.html#l01142">ttmath::Int&lt; exp &gt;::ToUInt()</a>.</p>

</div>
</div>
<a id="aaf0b1c00f8b0b8e2f47007a35426f0ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf0b1c00f8b0b8e2f47007a35426f0ab">&#9670;&nbsp;</a></span>ToWString()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::wstring <a class="el" href="classttmath_1_1_int.html">ttmath::Int</a>&lt; value_size &gt;::ToWString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a>&#160;</td>
          <td class="paramname"><em>b</em> = <code>10</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>this method converts the value to a string with a base equal 'b' </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01364">1364</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;    {</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;        std::wstring result;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;        ToStringBase(result, b);</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a213cd329ccb330a0cc107af347237128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a213cd329ccb330a0cc107af347237128">&#9670;&nbsp;</a></span>operator&lt;&lt; <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>output to standard streams </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01837">1837</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;    {</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;        <span class="keywordflow">return</span> OutputToStream&lt;std::ostream, std::string&gt;(s, l);</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a14e997280b1db4b309617b58ef3bf338"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14e997280b1db4b309617b58ef3bf338">&#9670;&nbsp;</a></span>operator&lt;&lt; <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::wostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::wostream &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>output to standard streams </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01848">1848</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;    {</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;        <span class="keywordflow">return</span> OutputToStream&lt;std::wostream, std::wstring&gt;(s, l);</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="ae7d185b1e32e19aaa609c67cdb1a3c95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7d185b1e32e19aaa609c67cdb1a3c95">&#9670;&nbsp;</a></span>operator&gt;&gt; <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::istream&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>input from standard streams </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01901">1901</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;    {</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;        <span class="keywordflow">return</span> InputFromStream&lt;std::istream, std::string, char&gt;(s, l);</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a id="a7c0472f9bb3587bdf364cd9682f6d092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c0472f9bb3587bdf364cd9682f6d092">&#9670;&nbsp;</a></span>operator&gt;&gt; <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::wistream&amp; operator&gt;&gt; </td>
          <td>(</td>
          <td class="paramtype">std::wistream &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classttmath_1_1_int.html">Int</a>&lt; value_size &gt; &amp;&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>input from standard streams </p>

<p class="definition">Definition at line <a class="el" href="ttmathint_8h_source.html#l01912">1912</a> of file <a class="el" href="ttmathint_8h_source.html">ttmathint.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;    {</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;        <span class="keywordflow">return</span> InputFromStream&lt;std::wistream, std::wstring, wchar_t&gt;(s, l);</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="a54c67e2e3d1a4d6ea96e828d15c4443a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54c67e2e3d1a4d6ea96e828d15c4443a">&#9670;&nbsp;</a></span>table</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;uint value_size&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacettmath.html#a5c1fccc9761aaa3d2b6dd32c224f5dac">uint</a> <a class="el" href="classttmath_1_1_u_int.html">ttmath::UInt</a>&lt; value_size &gt;::table[value_size]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>buffer for the integer value table[0] - the lowest word of the value </p>

<p class="definition">Definition at line <a class="el" href="ttmathuint_8h_source.html#l00081">81</a> of file <a class="el" href="ttmathuint_8h_source.html">ttmathuint.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="ttmathuint__x86__64_8h_source.html#l00158">ttmath::UInt&lt; man &gt;::Add()</a>, <a class="el" href="ttmathuint_8h_source.html#l00743">ttmath::UInt&lt; man &gt;::BitAnd()</a>, <a class="el" href="ttmathuint_8h_source.html#l00779">ttmath::UInt&lt; man &gt;::BitNot()</a>, <a class="el" href="ttmathuint_8h_source.html#l00795">ttmath::UInt&lt; man &gt;::BitNot2()</a>, <a class="el" href="ttmathuint_8h_source.html#l00755">ttmath::UInt&lt; man &gt;::BitOr()</a>, <a class="el" href="ttmathuint_8h_source.html#l00767">ttmath::UInt&lt; man &gt;::BitXor()</a>, <a class="el" href="ttmathuint_8h_source.html#l03606">ttmath::UInt&lt; man &gt;::CmpBigger()</a>, <a class="el" href="ttmathuint_8h_source.html#l03689">ttmath::UInt&lt; man &gt;::CmpBiggerEqual()</a>, <a class="el" href="ttmathuint_8h_source.html#l03634">ttmath::UInt&lt; man &gt;::CmpEqual()</a>, <a class="el" href="ttmathuint_8h_source.html#l03575">ttmath::UInt&lt; man &gt;::CmpSmaller()</a>, <a class="el" href="ttmathuint_8h_source.html#l03660">ttmath::UInt&lt; man &gt;::CmpSmallerEqual()</a>, <a class="el" href="ttmathuint_8h_source.html#l00598">ttmath::UInt&lt; man &gt;::CompensationToLeft()</a>, <a class="el" href="ttmathbig_8h_source.html#l01966">ttmath::Big&lt; exp, man &gt;::Exp()</a>, <a class="el" href="ttmathuint_8h_source.html#l00649">ttmath::UInt&lt; man &gt;::FindLeadingBit()</a>, <a class="el" href="ttmathuint_8h_source.html#l00681">ttmath::UInt&lt; man &gt;::FindLowestBit()</a>, <a class="el" href="ttmathbig_8h_source.html#l02240">ttmath::Big&lt; exp, man &gt;::FromBig()</a>, <a class="el" href="ttmathbig_8h_source.html#l02538">ttmath::Big&lt; exp, man &gt;::FromUInt()</a>, <a class="el" href="ttmathuint_8h_source.html#l02657">ttmath::UInt&lt; man &gt;::FromUInt()</a>, <a class="el" href="ttmathbig_8h_source.html#l05883">ttmath::Big&lt; exp, man &gt;::IsInteger()</a>, <a class="el" href="ttmathuint_8h_source.html#l02565">ttmath::UInt&lt; man &gt;::IsOnlyTheHighestBitSet()</a>, <a class="el" href="ttmathuint_8h_source.html#l02589">ttmath::UInt&lt; man &gt;::IsOnlyTheLowestBitSet()</a>, <a class="el" href="ttmathuint_8h_source.html#l02547">ttmath::UInt&lt; man &gt;::IsTheHighestBitSet()</a>, <a class="el" href="ttmathuint_8h_source.html#l02556">ttmath::UInt&lt; man &gt;::IsTheLowestBitSet()</a>, <a class="el" href="ttmathuint_8h_source.html#l02605">ttmath::UInt&lt; man &gt;::IsZero()</a>, <a class="el" href="ttmathuint_8h_source.html#l01043">ttmath::UInt&lt; man &gt;::Mul1Big()</a>, <a class="el" href="ttmathuint_8h_source.html#l01082">ttmath::UInt&lt; man &gt;::Mul2()</a>, <a class="el" href="ttmathuint_8h_source.html#l01113">ttmath::UInt&lt; man &gt;::Mul2Big()</a>, <a class="el" href="ttmathuint_8h_source.html#l01212">ttmath::UInt&lt; man &gt;::Mul3()</a>, <a class="el" href="ttmathuint_8h_source.html#l01245">ttmath::UInt&lt; man &gt;::Mul3Big()</a>, <a class="el" href="ttmathuint_8h_source.html#l01479">ttmath::UInt&lt; man &gt;::MulFastest()</a>, <a class="el" href="ttmathuint_8h_source.html#l01510">ttmath::UInt&lt; man &gt;::MulFastestBig()</a>, <a class="el" href="ttmathbig_8h_source.html#l01179">ttmath::Big&lt; exp, man &gt;::MulUInt()</a>, <a class="el" href="ttmathuint_8h_source.html#l02761">ttmath::UInt&lt; man &gt;::operator=()</a>, <a class="el" href="ttmathbig_8h_source.html#l01584">ttmath::Big&lt; exp, man &gt;::Pow()</a>, <a class="el" href="ttmathuint_8h_source.html#l02425">ttmath::UInt&lt; man &gt;::Pow()</a>, <a class="el" href="ttmathuint_8h_source.html#l00159">ttmath::UInt&lt; man &gt;::PrintLog()</a>, <a class="el" href="ttmathuint_8h_source.html#l00097">ttmath::UInt&lt; man &gt;::PrintTable()</a>, <a class="el" href="ttmathuint_8h_source.html#l00325">ttmath::UInt&lt; man &gt;::SetFromTable()</a>, <a class="el" href="ttmathuint_8h_source.html#l00215">ttmath::UInt&lt; man &gt;::SetMax()</a>, <a class="el" href="ttmathuint_8h_source.html#l00202">ttmath::UInt&lt; man &gt;::SetOne()</a>, <a class="el" href="ttmathbig_8h_source.html#l00271">ttmath::Big&lt; exp, man &gt;::SetOne()</a>, <a class="el" href="ttmathuint_8h_source.html#l00188">ttmath::UInt&lt; man &gt;::SetZero()</a>, <a class="el" href="ttmathuint_8h_source.html#l02461">ttmath::UInt&lt; man &gt;::Sqrt()</a>, <a class="el" href="ttmathuint__x86__64_8h_source.html#l00460">ttmath::UInt&lt; man &gt;::Sub()</a>, <a class="el" href="ttmathuint_8h_source.html#l00239">ttmath::UInt&lt; man &gt;::Swap()</a>, <a class="el" href="ttmathbig_8h_source.html#l02516">ttmath::Big&lt; exp, man &gt;::ToInt()</a>, <a class="el" href="ttmathuint_8h_source.html#l03139">ttmath::UInt&lt; man &gt;::ToInt()</a>, <a class="el" href="ttmathuint_8h_source.html#l03103">ttmath::UInt&lt; man &gt;::ToUInt()</a>, and <a class="el" href="ttmathuint_8h_source.html#l03045">ttmath::UInt&lt; man &gt;::UInt()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ttmathint_8h_source.html">ttmathint.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
